summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit81a1008c26d0cc7cfdcbea14464746a7106d0e85 (patch)
treef2da771d33e60020b4533109aebe1ca91f0d62da
parenta43041b385cb6ccd82cfc30f310c4b447eaf8789 (diff)
downloadIshtar-81a1008c26d0cc7cfdcbea14464746a7106d0e85.tar.bz2
Ishtar-81a1008c26d0cc7cfdcbea14464746a7106d0e85.zip
Data importer: refetch related items before resave in order to infer in post treatments
-rw-r--r--ishtar_common/data_importer.py3
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