0
我正在关注Django文档中的教程,并试验模型和视图。我有一个Person
模型,它与其他人称为“朋友”,有多对多的关系。我想表明我的数据库,和他们的朋友的人的名单,所以我想下面的模板:为什么我可以在没有括号的情况下在我的ManyRelatedManager上调用“all”方法? (Django)
{% 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 %}
。令我惊讶的是,这确实有效,但我不明白为什么。
我是否真的调用了方法并将查询设置回来,或者是完全不同的事情?
看看这个:http://stackoverflow.com/questions/2115869/calling-python-function-in-django-template/2115936#2115936这HTTPS ://docs.djangoproject.com/en/dev/topics/templates/#variables – 2014-10-08 02:52:24
啊,这清除了它。谢谢。 – zxz 2014-10-08 02:58:58
不客气! – 2014-10-08 03:01:08