diff options
-rw-r--r-- | archaeological_finds/models_treatments.py | 1 | ||||
-rw-r--r-- | ishtar_common/models.py | 6 | ||||
-rw-r--r-- | ishtar_common/wizards.py | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index b4d98528b..03eeed452 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -225,6 +225,7 @@ class Treatment(DashboardFormItem, ValueGetter, BaseHistorizedItem, return values def pre_save(self): + super(Treatment, self).pre_save() # is not new if self.pk is not None: return diff --git a/ishtar_common/models.py b/ishtar_common/models.py index becb37516..6a59adb77 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -953,11 +953,15 @@ class JsonDataField(models.Model): class JsonData(models.Model): - data = JSONField(default={}, db_index=True) + data = JSONField(default={}, db_index=True, blank=True) class Meta: abstract = True + def pre_save(self): + if not self.data: + self.data = {} + class Imported(models.Model): imports = models.ManyToManyField( diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 701f6eca3..f86e03df0 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -737,6 +737,9 @@ class Wizard(NamedUrlWizardView): if has_problemetic_null: continue + if hasattr(model, 'data') and 'data' not in value: + value['data'] = {} + if get_or_create: value, created = model.objects.get_or_create( **value) |