summaryrefslogtreecommitdiff
path: root/ishtar_common/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/utils.py')
-rw-r--r--ishtar_common/utils.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index 673821c14..2becd20ce 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -635,10 +635,12 @@ def external_id_changed(sender, **kwargs):
def _external_id_changed(sender, **kwargs):
sender, instance = deserialize_args_for_tasks(sender, kwargs, EXTRA_KWARGS_TRIGGER)
if not instance or not hasattr(instance, "external_id") \
- or not hasattr(instance, "auto_external_id"):
+ or not hasattr(instance, "auto_external_id") \
+ or not hasattr(instance, "SLUG"):
+ return
+ if getattr(instance, "_external_id_checked", None):
return
updated = False
- instance.no_post_process()
if not instance.external_id or instance.auto_external_id:
external_id = get_generated_id(instance.SLUG + "_external_id", instance)
if external_id != instance.external_id:
@@ -647,6 +649,7 @@ def _external_id_changed(sender, **kwargs):
instance.external_id = external_id
if hasattr(instance, "regenerate_all_ids"):
updated |= instance.regenerate_all_ids(save=False) or False
+ instance._external_id_checked = True
if updated:
instance.save()