修改qm bug
This commit is contained in:
parent
3664971a17
commit
229ab9b34a
|
@ -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:
|
||||
|
|
|
@ -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)
|
Loading…
Reference in New Issue