serializers.py 828 B

12345678910111213141516171819202122
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from .models import ErrorBook
  4. from apps.examination.examquestion.serializers import ExamQuestionSimpleSerializer
  5. from apps.examination.exam.serializers import ExamAnswerLogSimpleSerializer
  6. class ErrorBookSerializer(serializers.ModelSerializer):
  7. question = serializers.SerializerMethodField()
  8. answer = serializers.SerializerMethodField()
  9. exam_name = serializers.CharField(source='last_answer_log.main.exampaper.name', read_only=True)
  10. class Meta:
  11. model = ErrorBook
  12. fields = ('last_time', 'wrong_count', 'exam_name', 'question', 'answer', )
  13. def get_question(self, obj):
  14. return ExamQuestionSimpleSerializer(obj.question).data
  15. def get_answer(self, obj):
  16. return ExamAnswerLogSimpleSerializer(obj.last_answer_log).data