Browse Source

quiz details data for fist tab updated

master
Mohsen Taba 2 months ago
parent
commit
8752f794f4
  1. 27
      apps/quiz/serializers/admin.py

27
apps/quiz/serializers/admin.py

@ -63,6 +63,11 @@ class AdminQuizListSerializer(serializers.ModelSerializer):
class AdminQuizDetailSerializer(serializers.ModelSerializer): class AdminQuizDetailSerializer(serializers.ModelSerializer):
questions_count = serializers.SerializerMethodField()
participants_count = serializers.SerializerMethodField()
course_title = serializers.SerializerMethodField()
lesson_title = serializers.SerializerMethodField()
class Meta: class Meta:
model = Quiz model = Quiz
fields = [ fields = [
@ -72,9 +77,27 @@ class AdminQuizDetailSerializer(serializers.ModelSerializer):
'each_question_timing', 'each_question_timing',
'status', 'status',
'course', 'course',
'lesson'
'course_title',
'lesson',
'lesson_title',
'questions_count',
'participants_count'
] ]
read_only_fields = ['course'] # Set automatically on save based on lesson.course
read_only_fields = ['course', 'course_title', 'lesson_title', 'questions_count', 'participants_count']
def get_questions_count(self, obj):
return obj.questions.count()
def get_participants_count(self, obj):
return obj.participants.count()
def get_course_title(self, obj):
return obj.course.title if obj.course else None
def get_lesson_title(self, obj):
if not obj.lesson:
return None
return obj.lesson.title or (obj.lesson.lesson.title if obj.lesson.lesson else None)
class AdminQuestionSerializer(serializers.ModelSerializer): class AdminQuestionSerializer(serializers.ModelSerializer):

Loading…
Cancel
Save