summaryrefslogtreecommitdiff
path: root/archaeological_finds/models_finds.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r--archaeological_finds/models_finds.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index a3aaae50d..9baced4e0 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -1376,12 +1376,20 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, OwnPerms,
for field in m2m:
if field == 'datings' and copy_datings:
for dating in self.datings.all():
+ is_present = False
+ for current_dating in new.datings.all():
+ if Dating.is_identical(current_dating, dating):
+ is_present = True
+ break
+ if is_present:
+ continue
dating.pk = None
dating.save()
new.datings.add(dating)
else:
for val in getattr(self, field).all():
- getattr(new, field).add(val)
+ if val not in getattr(new, field).all():
+ getattr(new, field).add(val)
return new
@classmethod