0
因此,我知道ModelSerializer
支持基于当前对象中外键的嵌套模型对象。但是,我想知道如何做一个交叉连接模型与特定的领域等于另一个对象?Django Rest-Framework:如何在ModelSerializer中交叉对象
即
class classroom(models.Model):
id = models.AutoField(primary_key = True, editable = False)
class student(models.Model):
id = models.AutoField(primary_key = True, editable = False)
classroom = models.ForeignKey(classroom, on_delete=models.CASCADE)
现在,我愿做一个ModelSerializer与课堂模式。我想归档的想法是返回student.objects.filter(classroom = self.id)
[self is classrom]
我怎样才能从学生获得数据? (教室中没有外键定位学生)
class classroomSerializer(ModelSerializer):
# students = ??
class Meta:
model = classroom
fields = [
'id',
'students',
]
添加related_name但我不能告诉应当用于在数据库中的对象匹配的字段。 – DrKNa
我修改了我的答案..试着指定一个related_name来控制你的逆向关系 –
看起来像是有效的,但我仍然在解决这个问题。我试图按照http://gregblogs.com/tlt-how-to-retrieve-the-fields-of-a-related-model-from-a-django-rest-framework-endpoint/,但有些不对。我可以问一下,related_name必须与ModelSerializer中声明的字段名称相同吗? – DrKNa