fix: scope transactional locks to primary records
This commit is contained in:
@@ -671,7 +671,7 @@ def _auto_create_ticket(
|
||||
|
||||
# Agent/Celery 重试可能并发进入;锁定受理记录后再判断是否已经完成建单。
|
||||
draft = (
|
||||
TicketDraft.objects.select_for_update()
|
||||
TicketDraft.objects.select_for_update(of=("self",))
|
||||
.select_related("created_by", "confirmed_ticket")
|
||||
.prefetch_related("materials")
|
||||
.get(id=draft_id)
|
||||
@@ -944,7 +944,7 @@ def cancel_draft_analysis(
|
||||
user,
|
||||
) -> TicketDraft:
|
||||
draft = (
|
||||
TicketDraft.objects.select_for_update()
|
||||
TicketDraft.objects.select_for_update(of=("self",))
|
||||
.select_related("latest_agent_run", "created_by")
|
||||
.get(public_id=draft_public_id, created_by=user)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user