summaryrefslogtreecommitdiff
path: root/archaeological_context_records/models.py
diff options
context:
space:
mode:
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