diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-12-03 14:18:03 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-12-03 14:18:03 +0100 |
commit | ddada954b6a6e2e6b3278355c552eb652231fc04 (patch) | |
tree | b8a8826296a858cc700420cc5ecc4751f706c6f1 /ishtar_common | |
parent | da3f424cebee78b30c1419e40ae5097caab8a888 (diff) | |
download | Ishtar-ddada954b6a6e2e6b3278355c552eb652231fc04.tar.bz2 Ishtar-ddada954b6a6e2e6b3278355c552eb652231fc04.zip |
Import: set localisation only on post save
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): |