refector: 调整一下结构

This commit is contained in:
caoqianming 2024-05-16 23:58:07 +08:00
parent 4de3363f1d
commit e8a86e6a26
1 changed files with 26 additions and 32 deletions

View File

@ -551,7 +551,7 @@ class ExamTestViewSet(PageOrNot, ModelViewSet):
@transaction.atomic
def create(self, request, *args, **kwargs):
serializer = MoniTestSerializer(data = request.data)
if serializer.is_valid():
serializer.is_valid(raise_exception=True)
instance = serializer.save(consumer = request.user)
if 'questions' in request.data:
questions = []
@ -565,7 +565,7 @@ class ExamTestViewSet(PageOrNot, ModelViewSet):
question['is_right'] = i['is_right']
questions.append(question)
serializer_detail = AnswerDetailCreateSerializer(data=questions, many=True)
if serializer_detail.is_valid():
serializer_detail.is_valid(raise_exception=True)
serializer_detail.save()
# 关联正式考试如有
if request.data.get('exam', None):
@ -576,13 +576,7 @@ class ExamTestViewSet(PageOrNot, ModelViewSet):
if exam.auto_issue and instance.is_pass:
issue(instance)
return Response(MoniTestSerializer(instance).data,status=status.HTTP_200_OK)
else:
return Response(serializer_detail.errors)
else:
return Response({'error':'答题记录不存在'})
else:
return Response(serializer.errors)
raise ParseError('答题记录不存在')
@action(methods=['get'], detail=False,
url_path='export', url_name='export_test', perms_map=[{'*':'export_test'}])