summaryrefslogtreecommitdiff
path: root/ishtar_common/models_imports.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r--ishtar_common/models_imports.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index a90e16373..e67f02083 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1483,8 +1483,21 @@ def pre_delete_import(sender, **kwargs):
to_delete = []
for accessor, imported in instance.get_all_imported():
to_delete.append(imported)
+ post_delete_to_update = {}
for item in to_delete:
+ if hasattr(item, "post_delete_to_update"):
+ item._no_pre_delete = True
+ for klass, values in item.post_delete_to_update():
+ if klass not in post_delete_to_update:
+ post_delete_to_update[klass] = set(values)
+ else:
+ post_delete_to_update[klass].update(values)
item.delete()
+ for klass in post_delete_to_update:
+ for item_id in post_delete_to_update[klass]:
+ q = klass.objects.filter(pk=item_id)
+ if q.count():
+ q.all()[0].save()
pre_delete.connect(pre_delete_import, sender=Import)