diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/data_importer.py | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index b0e01d70d..85c5437d1 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -1734,12 +1734,16 @@ class Importer(object):              })          created = False +        post_save_keys = []          try:              try:                  dct = create_dict.copy()                  for key in dct:                      if callable(dct[key]):                          dct[key] = dct[key]() +                        if getattr(dct[key], "post_save", True): +                            dct.pop(key) +                            post_save_keys.append(key)                  if '__force_new' in dct:                      created = dct.pop('__force_new')                      if not [k for k in dct if dct[k] is not None]: @@ -1853,6 +1857,8 @@ class Importer(object):                      dct.pop('defaults')                  raise IntegrityError(str(e))                  # obj = cls.objects.filter(**dct).all()[0] +            for key in post_save_keys: +                getattr(obj, key)()              for attr, value in m2ms:                  values = [value]                  if type(value) in (list, tuple): | 
