feat: testitem删除校验

This commit is contained in:
caoqianming 2025-01-24 16:19:59 +08:00
parent 1d22dd983a
commit 7740613cf7
1 changed files with 7 additions and 1 deletions

View File

@ -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, \
@ -117,6 +117,12 @@ 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)
class QuaStatViewSet(ListModelMixin, BulkUpdateModelMixin, CustomGenericViewSet):
"""