serializer 修改
This commit is contained in:
parent
701784fb53
commit
39a8eb9740
|
|
@ -74,7 +74,7 @@ class ExamCreateUpdateSerializer(ModelSerializer):
|
|||
class Meta:
|
||||
model = Exam
|
||||
fields = ['name', 'place', 'open_time',
|
||||
'close_time', 'proctor_name', 'proctor_phone']
|
||||
'close_time', 'proctor_name', 'proctor_phone', 'chance', 'paper']
|
||||
|
||||
|
||||
class ExamListSerializer(ModelSerializer):
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class QuestionViewSet(ModelViewSet):
|
|||
search_fields = ['name', 'options', 'resolution']
|
||||
|
||||
@action(methods=['get'], detail=False,
|
||||
url_path='export', url_name='export_question', perms_map=[{'get': '*'}])
|
||||
url_path='export', url_name='export_question', perms_map=[{'get': '*'}], serializer_class=Serializer)
|
||||
def export_question(self, request):
|
||||
"""
|
||||
导出题目
|
||||
|
|
@ -70,7 +70,7 @@ class QuestionViewSet(ModelViewSet):
|
|||
path = export_question(queryset)
|
||||
return Response({'path': path})
|
||||
|
||||
@action(methods=['post'], detail=False, url_name='enable_question', perms_map={'post': 'question'})
|
||||
@action(methods=['post'], detail=False, url_name='enable_question', perms_map={'post': 'question'}, serializer_class=Serializer)
|
||||
def enable(self, request):
|
||||
"""
|
||||
启用题目
|
||||
|
|
@ -83,7 +83,7 @@ class QuestionViewSet(ModelViewSet):
|
|||
return Response(status=200)
|
||||
|
||||
@action(methods=['post'], detail=False,
|
||||
url_path='import', url_name='import_question', perms_map={'post': 'question'})
|
||||
url_path='import', url_name='import_question', perms_map={'post': 'question'}, serializer_class=Serializer)
|
||||
def import_question(self, request):
|
||||
"""
|
||||
导入题目
|
||||
|
|
@ -227,7 +227,7 @@ class PaperViewSet(ModelViewSet):
|
|||
return PaperDetailSerializer
|
||||
elif self.action in ['create', 'update']:
|
||||
return PaperCreateUpdateSerializer
|
||||
return PaperSerializer
|
||||
return super().get_serializer_class()
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
sr = PaperCreateUpdateSerializer(data=request.data)
|
||||
|
|
@ -265,6 +265,7 @@ class ExamViewSet(ModelViewSet):
|
|||
queryset = Exam.objects.all().select_related('paper', 'create_by')
|
||||
ordering = ['-id']
|
||||
search_fields = ('name',)
|
||||
serializer_class = ExamListSerializer
|
||||
filterset_class = ExamFilter
|
||||
|
||||
def get_serializer_class(self):
|
||||
|
|
@ -272,7 +273,7 @@ class ExamViewSet(ModelViewSet):
|
|||
return ExamCreateUpdateSerializer
|
||||
elif self.action in ['retrieve']:
|
||||
return ExamDetailSerializer
|
||||
return ExamListSerializer
|
||||
return super().get_serializer_class()
|
||||
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
|
|
@ -336,7 +337,7 @@ class ExamRecordViewSet(ModelViewSet):
|
|||
def get_serializer_class(self):
|
||||
if self.action == 'retrieve':
|
||||
return ExamRecordDetailSerializer
|
||||
return ExamRecordListSerializer
|
||||
return super().get_serializer_class()
|
||||
|
||||
def perform_destroy(self, instance): # 考试记录物理删除
|
||||
instance.delete(soft=False)
|
||||
|
|
@ -363,7 +364,7 @@ class ExamRecordViewSet(ModelViewSet):
|
|||
serializer = self.get_serializer(page, many=True)
|
||||
return self.get_paginated_response(serializer.data)
|
||||
|
||||
@action(methods=['post'], detail=True, perms_map=[{'post': '*'}], serializer_class=Serializer, permission_classes = [IsAuthenticated])
|
||||
@action(methods=['post'], detail=True, perms_map=[{'post': '*'}], serializer_class=ExamRecordSubmitSerializer, permission_classes = [IsAuthenticated])
|
||||
def submit(self, request, pk=None):
|
||||
'''
|
||||
提交答卷
|
||||
|
|
|
|||
Loading…
Reference in New Issue