【发布时间】:2014-10-08 02:34:49
【问题描述】:
我正在遵循 Django 文档中的教程,并尝试使用模型和视图。我有一个Person 模型,它与其他人有多对多的关系,我称之为“朋友”。我想在我的数据库中显示一个人的列表,以及他们的朋友,所以我尝试了以下模板:
{% if people %}
<ul>
{% for p in people %}
<li>
{{ p.name }}
<ul>
{% for f in p.friends.all() %}
<li>
{{ f.name }}
</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
{% else %}
<p>There are no people.</p>
{% endif %}
Django 告诉我它找不到all() 方法。在一个疯狂的猜测中,我试图去掉括号,留下如下{% for f in p.friends.all %}。令我惊讶的是,这确实有效,但我不明白为什么。
我实际上是在调用该方法并返回一个查询,还是发生了完全不同的事情?
【问题讨论】:
-
啊,这样就搞定了。谢谢。
标签: python django many-to-many