diff options
| 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 |
| commit | 850fb3b058a729437daa38d43ba46064bd686c0c (patch) | |
| tree | 51067bbe4ac2bb44a139c2bc813d1442d2db4582 /archaeological_finds/models_finds.py | |
| parent | 4c99f2d8afcfdb6104edc679ec9b7fce81ceec0c (diff) | |
| download | Ishtar-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.py | 10 |
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 |
