У меня три модели. Два из них связаны со своим «родителем» через внешний ключ. Мне нужно создать сериализатор.
Вот мой models.py
class Student(models.Model):
first_name = models.CharField(max_length = 35, blank=True)
last_name = models.CharField(max_length = 35, blank=True)
class Grade(models.Model):
student = models.ForeignKey(
"Student",
null = True,
on_delete = models.PROTECT,
)
grade = models.FloatField(null = True)
class Attendance(models.Model):
student = models.ForeignKey(
"Student",
null = True,
on_delete = models.PROTECT,
)
total_exabs = models.IntegerField(null = True)
Вот мой serializers.py
class StudentSerializer(serializers.BaseSerializer):
def to_representation(self, student_obj):
return {
"id": student_obj.pk,
"first_name": student_obj.first_name,
"last_name": student_obj.last_name,
}
class GradeSerializer(serializers.BaseSerializer):
def to_representation(self, grade_obj):
return {
"Grade PK": grade_obj.id,
"Student": grade_obj.student.id,
"Grade Value": grade_obj.grade,
}
class AttendanceSerializer(serializers.BaseSerializer):
def to_representation(self, attendance_obj):
return {
"student": attendance_obj.student.id,
"total_exabs": attendance_obj.total_exabs,
}
Как мне создать четвертый сериализатор, у которого посещаемость вложена в класс? По сути, мне нужно, чтобы каждый класс ученика также показывал их посещаемость.
Это то, что я хочу
{"grade_id": "1",
"grade" : "0.73",
"student_id": "1",
"attendance": {"attendance_id": "1", "total_exabs": "7"}}
Спасибо за любую помощь, которую вы можете предложить! Новичок в Django, так что спасибо за терпение!