diff --git a/apps/qm/views.py b/apps/qm/views.py index f8575a38..eb018487 100644 --- a/apps/qm/views.py +++ b/apps/qm/views.py @@ -3,7 +3,7 @@ from rest_framework.decorators import action from rest_framework.exceptions import ParseError from rest_framework.views import APIView from rest_framework.serializers import Serializer -from apps.qm.models import QuaStat, NotOkOption, Ftest, Ptest, FtestWork +from apps.qm.models import QuaStat, NotOkOption, Ftest, Ptest, FtestWork, FtestItem from apps.qm.models import TestItem, Defect, Qct, QctTestItem, QctMat, QctDefect from apps.qm.serializers import QuaStatSerializer, TestItemSerializer, QuaStatUpdateSerializer, FtestSerializer, PtestSerializer, \ FtestWorkCreateUpdateSerializer, FtestWorkSerializer, DefectSerializer, QctSerializer, QctTestItemSerializer, QctDefectSerializer, QctMatSerializer, \ @@ -116,6 +116,12 @@ class TestItemViewSet(CustomModelViewSet): affects = item["affects"] 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) class QuaStatViewSet(ListModelMixin, BulkUpdateModelMixin, CustomGenericViewSet):