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