summaryrefslogtreecommitdiff
path: root/archaeological_finds/models_finds.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-28 18:51:28 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-28 18:53:28 +0100
commit850fb3b058a729437daa38d43ba46064bd686c0c (patch)
tree51067bbe4ac2bb44a139c2bc813d1442d2db4582 /archaeological_finds/models_finds.py
parent4c99f2d8afcfdb6104edc679ec9b7fce81ceec0c (diff)
downloadIshtar-850fb3b058a729437daa38d43ba46064bd686c0c.tar.bz2
Ishtar-850fb3b058a729437daa38d43ba46064bd686c0c.zip
Treatments: better management of merge - tests
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