Я хочу многоуровневый вложенный сериализатор.По сути, в каждой школе есть список учеников, и у каждого ученика есть список оценок.Он выводит этот
{"id":1,"name":"Sierra Grande Elem/Junior High"}
и выглядит так, как будто он не включает ни одно из созданных мною гнезд.
Вот мой models.py
class School(models.Model):
name = models.TextField(max_length = 150, blank=True)
class Student(models.Model):
current_school = models.ForeignKey(
"School",
null = True,
on_delete = models.PROTECT,
)
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,
)
course = models.ForeignKey(
"Course",
null = True,
on_delete = models.PROTECT,
)
grade = models.FloatField(null = True)
Вотmy serializers.py
class NestedSchoolSerializer(serializers.ModelSerializer):
class Meta:
model = School
fields = ("id","name")
class NestedStudentSerializer(serializers.ModelSerializer):
school_set = NestedSchoolSerializer(many = True, read_only = True)
class Meta:
model = Student
fields = ("school_set","id","first_name","last_name")
class NestedGradeSerializer(serializers.ModelSerializer):
student_set = NestedStudentSerializer(many = True, read_only = True)
class Meta:
model = Grade
fields = ("student_set","id","course","grade")
Вот мой файл views.py:
class SchoolInfo(generics.RetrieveAPIView):
queryset = School.objects.all()
serializer_class = NestedSchoolSerializer
Вот мой файл url.py:
urlpatterns = [
path('school/grade/<int:pk>/', views.SchoolInfo.as_view()),
]
Любая помощьочень признателен!Новичок в Django, и у него были проблемы со стрельбой в течение довольно долгого времени.Какую часть моего кода мне нужно изменить?