0

我目前正在(非常缓慢地)完成 Django 文档中的 Django 教程,并且我已经完成了第 3 部分。在第三部分中,它让您为在教程中设置的投票构建 detail.html 视图。

我或多或少地跟随,但我对 detail.html 代码中的这一点感到困惑:

<h1>{{ poll.question }}</h1>
<ul>
{% for choice in poll.choice_set.all %}
    <li>{{ choice.choice }}</li>
{% endfor %}
</ul>

我知道它首先呈现民意调查的“问题”部分(poll.question),然后遍历该民意调查(poll.choice_set.all)的选择集中的所有选择(选择),但是为什么是在寻找选择的价值“选择”吗?

如果我将 detail.html 更改为仅具有以下内容,它仍然有效:

    <li>{{ choice }}</li>

这是一个基本上是 Pythonesque 或 Djangoesque 的例子,我应该在继续之前把我的头绕过去,还是只是一种情况,其中任何一个选项都同样好?

4

1 回答 1

1

poll.choice_set.all()返回与(通过)Choice关联的整个 s 集。如教程第 1 部分所述,该属性位于模型内。使用works since在第 1 部分中定义为返回字段的值。PollChoice.poll ForeignKeychoiceCharFieldChoice{{ choice }}Choice.__unicode__()choice

于 2012-09-19T00:49:33.023 回答