【发布时间】:2021-11-18 16:31:21
【问题描述】:
我是 Django REST 框架的新手,我想获取一个列表 学生的名字(仅)存在时。谁能帮帮我?
在我的models.py
class School(models.Model):
name = models.CharField(max_length=100, null=False, blank=False)
city = models.CharField(max_length=100, null=False, blank=False)
street = models.CharField(max_length=100, null=False, blank=False)
def __str__(self):
return f"{self.city}->{self.street}->{self.name}"
class Student(models.Model):
school_id = models.ForeignKey(School, on_delete=models.CASCADE)
first_name = models.CharField(max_length=100, null=False, blank=False)
last_name = models.CharField(max_length=100, null=False, blank=False)
def __str__(self):
return f"{self.first_name} {self.last_name}"
在我的serializers.py:
class StudentSerializer(serializers.Serializer):
class Meta:
model = Student
fields = ['first_name']
class SchoolSerializer(serializers.Serializer):
is_existing_student = = serializers.BooleanField()
student = StudentSerializer(many=True, read_only=True)
class Meta:
model = School
fields = ['is_existing_student','student']
在我的views.py:
class schoolViewSet(viewsets.ModelViewSet):
serializer_class = SchoolSerializer
queryset = School.objects.all()
在这张图片中,您可以看到它应该是什么样子 [1]:https://i.stack.imgur.com/bR8cN.png
【问题讨论】:
-
所以你必须写一个视图,它会返回学生。
-
您想要所有学生,还是只想要一个学生(如果有的话)?
-
我只想在下拉列表中显示已注册学生的名字。
标签: django django-models django-rest-framework django-views