diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-24 19:32:22 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-24 19:32:22 +0200 |
commit | f985a5442260b8aadc78946c606538a55ff063da (patch) | |
tree | f2da771d33e60020b4533109aebe1ca91f0d62da /ishtar_common/data_importer.py | |
parent | eff6e5f6ba279e5f5f64f6902ede750997019a6a (diff) | |
download | Ishtar-f985a5442260b8aadc78946c606538a55ff063da.tar.bz2 Ishtar-f985a5442260b8aadc78946c606538a55ff063da.zip |
Data importer: refetch related items before resave in order to infer in post treatments
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r-- | ishtar_common/data_importer.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 272609d0f..d20096a91 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -909,6 +909,7 @@ class Importer(object): def post_processing(self, idx_line, item): # force django based post-processing for the item + item = item.__class__.objects.get(pk=item.pk) item.save() if hasattr(item, 'RELATED_POST_PROCESS'): for related_key in item.RELATED_POST_PROCESS: @@ -1213,6 +1214,7 @@ class Importer(object): raise self._get_does_not_exist_in_db_error( through_cls, get_data) if not created and 'defaults' in data: + t_obj = t_obj.__class__.objects.get(pk=t_obj.pk) for k in data['defaults']: setattr(t_obj, k, data['defaults'][k]) t_obj.save() @@ -1838,6 +1840,7 @@ class Importer(object): else: getattr(obj, attr).add(v) # force post save script + v = v.__class__.objects.get(pk=v.pk) v.save() if self.simulate: # put m2m result in data dict |