From 331ad002ed08dab447576d94b2f82206423e27ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Tue, 27 Jun 2017 19:13:44 +0200 Subject: [PATCH] fix ChangedObject m2m on existing objects --- src/c3nav/editor/models/changedobject.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/c3nav/editor/models/changedobject.py b/src/c3nav/editor/models/changedobject.py index 9f4e7f9e..6347ab49 100644 --- a/src/c3nav/editor/models/changedobject.py +++ b/src/c3nav/editor/models/changedobject.py @@ -211,13 +211,12 @@ class ChangedObject(models.Model): self.save() def m2m_set(self, name, set_pks=None): - if self.is_created: - self._m2m_removed_cache.get(name, None) - return - - field = self.model_class._meta.get_field(name) - rel_name = field.rel.related_name - pks = set(field.related_model.objects.filter(**{rel_name+'__pk': self.obj_pk}).values_list('pk', flat=True)) + if not self.is_created: + field = self.model_class._meta.get_field(name) + rel_name = field.rel.related_name + pks = set(field.related_model.objects.filter(**{rel_name+'__pk': self.obj_pk}).values_list('pk', flat=True)) + else: + pks = set() m2m_added_before = self._m2m_added_cache.get(name, set()) m2m_removed_before = self._m2m_removed_cache.get(name, set())