monitest2

This commit is contained in:
caoqianming 2020-07-08 09:30:58 +08:00
parent d46f81e815
commit 2c61c68900
3 changed files with 11 additions and 10 deletions

View File

@ -6,6 +6,7 @@
"setting": {
"urlCheck": false,
"es6": true,
"enhance": true,
"postcss": true,
"minified": true,
"newFeature": true,
@ -23,8 +24,7 @@
"outputPath": ""
},
"useCompilerModule": true,
"userConfirmedUseCompilerModuleSwitch": false,
"enhance": true
"userConfirmedUseCompilerModuleSwitch": false
},
"compileType": "miniprogram",
"libVersion": "2.10.3",

View File

@ -136,6 +136,12 @@ class PaperQuestionsDetailSerializer(serializers.ModelSerializer):
model = PaperQuestions
fields = ('id','name','options','right','type','level','total_score','questioncat_name')
@staticmethod
def setup_eager_loading(queryset):
""" Perform necessary eager loading of data. """
queryset = queryset.prefetch_related('question',)
return queryset
class PaperDetailSerializer(serializers.ModelSerializer):
create_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
update_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
@ -146,15 +152,10 @@ class PaperDetailSerializer(serializers.ModelSerializer):
fields = '__all__'
def get_questions(self, instance):
queryset = instance.questions.all().order_by('type')
queryset = PaperQuestions.objects.filter(paper=instance).order_by('question__type')
queryset = PaperQuestionsDetailSerializer.setup_eager_loading(queryset)
return PaperQuestionsDetailSerializer(queryset, many=True).data
# @staticmethod
# def setup_eager_loading(queryset):
# """ Perform necessary eager loading of data. """
# queryset = queryset.prefetch_related(
# 'questions',)
# return queryset
class PaperQuestionsCreateSerializer(serializers.ModelSerializer):
class Meta:

View File

@ -37,7 +37,7 @@ class AnswerDetailView(APIView):
def get(self, request, *args, **kwargs):
queryset = AnswerDetail.objects.all()
if request.query_params.get('examtest', None):
queryset = queryset.filter(examtest=request.query_params.get('examtest'))
queryset = queryset.filter(examtest=request.query_params.get('examtest')).order_by('question__type')
queryset = AnswerDetailSerializer.setup_eager_loading(queryset)
serializer = AnswerDetailSerializer(instance=queryset,many=True)
return Response(serializer.data)