summaryrefslogtreecommitdiff
path: root/archaeological_context_records/models.py
diff options
context:
space:
mode:
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
commitca1bdab53b4f8a688f2eaee73ee54e44489563f1 (patch)
treecdb95e6403d2c729a30aac692321dfa5fb0a0a22 /archaeological_context_records/models.py
parent9d718981e677bfa60cb4597dcf5af3376622d1df (diff)
downloadIshtar-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.py12
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