修改qm bug

This commit is contained in:
caoqianming 2021-11-08 11:25:30 +08:00
parent 3664971a17
commit 229ab9b34a
2 changed files with 15 additions and 9 deletions

View File

@ -50,12 +50,6 @@ class TestRecordCreateSerializer(serializers.ModelSerializer):
class Meta:
model = TestRecord
fields = ['form', 'record_data', 'is_testok', 'fifo_item']
def create(self, validated_data):
validated_data.pop('record_data')
if 'is_testok' not in validated_data:
raise serializers.ValidationError('未填写检测结论')
return super().create(validated_data)
class TestRecordListSerializer(serializers.ModelSerializer):
class Meta:

View File

@ -3,6 +3,9 @@ from apps.qm.models import Standard, TestItem, TestRecord, TestRecordItem
from django.shortcuts import render
from rest_framework.viewsets import ModelViewSet
from apps.system.mixins import CreateUpdateModelAMixin
from rest_framework.exceptions import APIException
from rest_framework.response import Response
from rest_framework import status
# Create your views here.
class StandardViewSet(CreateUpdateModelAMixin, ModelViewSet):
"""
@ -56,10 +59,17 @@ class TestRecordViewSet(ModelViewSet):
return TestRecordDetailSerializer
return super().get_serializer_class()
def perform_create(self, serializer):
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
vdata = serializer.validated_data
record_data = vdata.pop('record_data')
if 'is_testok' not in vdata:
raise APIException('未填写检测结论')
obj = serializer.save(create_by = self.request.user)
tris = []
for m in self.request.data['record_data']: # 保存记录详情
for m in record_data: # 保存记录详情
form_field = m['form_field']
m['field_name'] = form_field.field_name
m['field_key'] = form_field.field_key
@ -76,4 +86,6 @@ class TestRecordViewSet(ModelViewSet):
if obj.fifo_item:
obj.fifo_item.is_testok = True if obj.is_testok else False
obj.fifo_item.is_tested = True
obj.fifo_item.save()
obj.fifo_item.save()
return Response(status=status.HTTP_201_CREATED)