2012-09-19 26 views
0

我目前(非常緩慢)通過Django文檔中的Django教程,以及I'm up to Part Three。在第三部分中,您將爲您在本教程中設置的民意調查構建detail.html視圖。爲什麼Django教程在detail.html中使用choice.choice作爲變量?

我一起之後,或多或少,但我通過此位代碼爲百思不得其解detail.html:

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

我明白,第一個是呈現「問題」的一部分poll(poll.question),然後它遍歷該輪詢選項集(poll.choice_set.all)中的所有選項(選項),但它爲什麼要查找選項的值「choice」?

如果我改變detail.html有隻以下,它仍然有效:

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

這的東西是根本Pythonesque或Djangoesque我應該換我的頭在移動之前圍繞一個例子,或這只是兩種選擇同樣好的情況嗎?

回答

1

poll.choice_set.all()返回整組(經由Choice.pollForeignKey)與所述相關聯PollChoice S上的。 choice屬性是Choice模型中的CharField,如教程的part 1中所述。由於Choice.__unicode__()在第1部分定義爲返回choice字段的值,所以使用{{ choice }}工作。

相關問題