fix: 成品检验 perform_create的bug

This commit is contained in:
caoqianming 2024-01-19 09:57:44 +08:00
parent 387bb66914
commit 318a39c948
1 changed files with 4 additions and 1 deletions

View File

@ -12,6 +12,7 @@ import datetime
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from apps.wpm.models import SfLog from apps.wpm.models import SfLog
from apps.qm.filters import QuaStatFilter, TestItemFilter from apps.qm.filters import QuaStatFilter, TestItemFilter
from django.db import transaction
# Create your views here. # Create your views here.
@ -65,14 +66,16 @@ class FtestViewSet(CustomModelViewSet):
select_related_fields = ['test_user', 'check_user', 'ftest_work'] select_related_fields = ['test_user', 'check_user', 'ftest_work']
filterset_fields = ['type', 'ftest_work'] filterset_fields = ['type', 'ftest_work']
@transaction.atomic
def perform_create(self, serializer): def perform_create(self, serializer):
ins = super().perform_create(serializer) ins = serializer.save()
if ins.ftest_work: if ins.ftest_work:
ins.ftest_work.count_sampling = Ftest.objects.filter( ins.ftest_work.count_sampling = Ftest.objects.filter(
ftest_work=ins.ftest_work).count() ftest_work=ins.ftest_work).count()
ins.ftest_work.save() ins.ftest_work.save()
return ins return ins
@transaction.atomic
def perform_destroy(self, instance): def perform_destroy(self, instance):
ftest_work = instance.ftest_work ftest_work = instance.ftest_work
instance.delete() instance.delete()