diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-01-10 15:51:32 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-01-11 17:30:46 +0100 |
commit | ca1bdab53b4f8a688f2eaee73ee54e44489563f1 (patch) | |
tree | cdb95e6403d2c729a30aac692321dfa5fb0a0a22 /archaeological_context_records/models.py | |
parent | 9d718981e677bfa60cb4597dcf5af3376622d1df (diff) | |
download | Ishtar-ca1bdab53b4f8a688f2eaee73ee54e44489563f1.tar.bz2 Ishtar-ca1bdab53b4f8a688f2eaee73ee54e44489563f1.zip |
Fix datings M2M history
Diffstat (limited to 'archaeological_context_records/models.py')
-rw-r--r-- | archaeological_context_records/models.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index cc4e22cd5..5ba631dba 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -110,11 +110,17 @@ class Dating(models.Model): res = {} for idx, val in enumerate(value.split(cls.SEP)): key = cls.HISTORY_ATTR[idx] - if key in ("period", "dating_type", "quality"): + if val == '': + val = None + elif key in ("period", "dating_type", "quality"): field = cls._meta.get_field(key) - val = field.to.model.objects.get(txt_idx=val) + q = field.related_model.objects.filter(txt_idx=val) + if q.count(): + val = q.all()[0] + else: # do not exist anymore in db + val = None elif key in ("start_date", "end_date"): - val = datetime.datetime.fromisoformat(val) + val = int(val) res[key] = val return res |