From a1726a33058b3abb3e0663cf5613a16df897c727 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Mon, 1 Mar 2021 22:10:02 +0100 Subject: [PATCH] Only check dirty state for existing instances Closes #392 --- aleksis/core/models.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/aleksis/core/models.py b/aleksis/core/models.py index 93ad1ff09..b6e95bc37 100644 --- a/aleksis/core/models.py +++ b/aleksis/core/models.py @@ -266,7 +266,7 @@ class Person(ExtensibleModel): def save(self, *args, **kwargs): # Determine all fields that were changed since last load - dirty = bool(self.user_info_tracker.changed()) + dirty = self.pk is None or bool(self.user_info_tracker.changed()) super().save(*args, **kwargs) @@ -440,12 +440,11 @@ class Group(SchoolTermRelatedExtensibleModel): def save(self, force: bool = False, *args, **kwargs): # Determine state of object in relation to database - created = self.pk is None - dirty = bool(self.group_info_tracker.changed()) + dirty = self.pk is None or bool(self.group_info_tracker.changed()) super().save(*args, **kwargs) - if force or created or dirty: + if force or dirty: # Synchronise group to Django group with same name dj_group, _ = DjangoGroup.objects.get_or_create(name=self.name) dj_group.user_set.set( -- GitLab