From 9179803fda7fe185351bd11f5d71ba3beae8497c Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 16 Apr 2025 19:12:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A3=80=E9=AA=8C=E9=A1=B9=E5=92=8C?= =?UTF-8?q?=E7=BC=BA=E9=99=B7=E9=A1=B9=E5=88=A0=E9=99=A4=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E5=80=99=E5=90=8C=E6=AD=A5=E5=88=A0=E9=99=A4qct?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/qm/views.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/apps/qm/views.py b/apps/qm/views.py index 702667e7..a8d0948b 100644 --- a/apps/qm/views.py +++ b/apps/qm/views.py @@ -34,6 +34,11 @@ class DefectViewSet(CustomModelViewSet): filterset_fields = ["cate", "okcate"] search_fields = ["name", "code"] + @transaction.atomic + def perform_destroy(self, instance): + QctDefect.objects.filter(defect=instance).delete() + instance.delete() + class QctViewSet(CustomModelViewSet): """ 检测模板 @@ -136,11 +141,10 @@ class TestItemViewSet(CustomModelViewSet): item["affects_name"] = ";".join([affects_dict.get(x, '未知') for x in affects]) return data - def destroy(self, request, *args, **kwargs): - ins = self.get_object() - if FtestItem.objects.filter(testitem=ins).exists(): - raise ParseError("质检项目已使用,无法删除") - return super().destroy(request, *args, **kwargs) + @transaction.atomic + def perform_destroy(self, instance): + QctTestItem.objects.filter(testitem=instance).delete() + instance.delete() class QuaStatViewSet(ListModelMixin, BulkUpdateModelMixin, CustomGenericViewSet):