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