如果我有一对多的关系模型。如何在父模板中显示相关子表中的项目。
models.py
class Parent(models.Model):
name = models.CharField()
class Child(models.Model):
parent = models.ForeignKey(Parent)
child_name = models.CharField()
parent.html
{% for parent in parents %}
<tr>
<td><a href="/get/parent/{{ parent.id }}/">{{ parent.id }}</a></td>
<td><a href="/parent/get/{{ parent.id }}/">{{ parent.name }}</a></td>
<td><a href="/parent/get/{{ parent.id }}/">{{ child.child_name }}</a></td>
</tr>
{% endfor %}
答案 0 :(得分:5)
阅读关于以下关系的Django文档:https://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects
但基本上,它是parent.child_set.all
您可以通过向child_set
添加related_name='children'
来更改名称ForeignKey
:parent = ForeignKey(Parent, related_name='children')
然后您可以使用:parent.children.all