serializers.py 743 B

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