diff options
Diffstat (limited to 'ishtar_common/models_imports.py')
| -rw-r--r-- | ishtar_common/models_imports.py | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 694b0d17d..c91ce473f 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -1486,8 +1486,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) | 
