Skip to content

Commit f525181

Browse files
authored
fix: 修复文档状态在多次取消的情况下状态错误 (#1767)
1 parent caa02c5 commit f525181

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

apps/dataset/serializers/document_serializers.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,13 @@ def cancel(self, instance, with_valid=True):
653653
document_id=document_id).values('id'),
654654
TaskType(instance.get('type')),
655655
State.REVOKE)
656-
ListenerManagement.update_status(QuerySet(Document).filter(id=document_id), TaskType(instance.get('type')),
656+
ListenerManagement.update_status(QuerySet(Document).annotate(
657+
reversed_status=Reverse('status'),
658+
task_type_status=Substr('reversed_status', TaskType(instance.get('type')).value,
659+
TaskType(instance.get('type')).value),
660+
).filter(task_type_status__in=[State.PENDING.value, State.STARTED.value]).filter(
661+
id=document_id).values('id'),
662+
TaskType(instance.get('type')),
657663
State.REVOKE)
658664

659665
return True

0 commit comments

Comments
 (0)