From 7c233ab12a400cc685be6ab55bfaf3fe029a44b9 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Thu, 5 Dec 2024 10:13:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=9C=A8=E5=A4=9A=E6=AC=A1=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=E7=8A=B6=E6=80=81=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dataset/serializers/document_serializers.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/dataset/serializers/document_serializers.py b/apps/dataset/serializers/document_serializers.py index d90d21e1558..62f4c90bd93 100644 --- a/apps/dataset/serializers/document_serializers.py +++ b/apps/dataset/serializers/document_serializers.py @@ -653,7 +653,13 @@ def cancel(self, instance, with_valid=True): document_id=document_id).values('id'), TaskType(instance.get('type')), State.REVOKE) - ListenerManagement.update_status(QuerySet(Document).filter(id=document_id), TaskType(instance.get('type')), + ListenerManagement.update_status(QuerySet(Document).annotate( + reversed_status=Reverse('status'), + task_type_status=Substr('reversed_status', TaskType(instance.get('type')).value, + TaskType(instance.get('type')).value), + ).filter(task_type_status__in=[State.PENDING.value, State.STARTED.value]).filter( + id=document_id).values('id'), + TaskType(instance.get('type')), State.REVOKE) return True