diff options
-rw-r--r-- | archaeological_context_records/models.py | 2 | ||||
-rw-r--r-- | ishtar_common/models.py | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index da6b3b86a..686b167b4 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -1714,6 +1714,8 @@ class ContextRecordTree(RelationsViews): @classmethod def _update(cls, item_id, already_updated=None): all_relations = set() + if not ContextRecord.objects.filter(pk=item_id).count(): + return # add self relation cls.objects.get_or_create( key=f"{item_id}_{item_id}", cr_id=item_id, cr_parent_id=item_id diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 727d77fbc..442e0c687 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -86,6 +86,7 @@ from ishtar_common.utils import ( serialize_args_for_tasks, task, generate_pdf_preview, + revoke_old_task, ) from ishtar_common.utils_secretary import IshtarSecretaryRenderer @@ -902,8 +903,11 @@ class RelationsViews(models.Model): if not settings.USE_BACKGROUND_TASK: return relation_view_update(cls, {"item_id": item_id}) else: + sender, kwargs = serialize_args_for_tasks(cls, None, {"item_id": item_id}) - return relation_view_update.delay(sender, kwargs) + task_item = relation_view_update.delay(sender, kwargs) + revoke_old_task(kwargs, "relation_view_update", task_item.id, cls) + return task_item @classmethod def _get_base_children(cls): |