From 40a84b85d1dfb9b9403d497ed6ad1c2f3b45e213 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Pasquier <contact@jbpasquier.eu>
Date: Tue, 10 Dec 2019 14:14:10 +0100
Subject: [PATCH] fix: serializer can't bypass manager for m2m

---
 djangoldp/serializers.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py
index 9fd35360..5e886e15 100644
--- a/djangoldp/serializers.py
+++ b/djangoldp/serializers.py
@@ -661,12 +661,12 @@ class LDPSerializer(HyperlinkedModelSerializer):
                 item_pk_to_keep = list(
                     map(lambda e: getattr(e, slug_field), filter(lambda x: hasattr(x, slug_field), data)))
 
-            for item in list(manager.all()):
-                if not str(getattr(item, slug_field)) in item_pk_to_keep:
-                    if getattr(manager, 'through', None) is None:
+            if getattr(manager, 'through', None) is None:
+                for item in list(manager.all()):
+                    if not str(getattr(item, slug_field)) in item_pk_to_keep:
                         item.delete()
-                    else:
-                        manager.remove(item)
+            else:
+                manager.clear()
 
             for item in data:
                 if not isinstance(item, dict):
-- 
GitLab