diff options
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 |