0

私は現在 (非常にゆっくりと) Django ドキュメントの Django チュートリアルに取り組んでおり、パート 3 まで進んでいます。パート 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)のすべての選択肢(choice)を実行していることを理解していますが、なぜ選択肢の値「選択肢」を探していますか?

detail.html を次のように変更しても、引き続き機能します。

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

これは、基本的にPythonesqueまたはDjangoesqueであり、先に進む前に頭を包み込む必要があるものの例ですか、それともどちらのオプションも同じように良い状況ですか?

4

1 に答える 1

1

poll.choice_set.all()( 経由で)Choiceに関連付けられた のセット全体を返します。この属性は、チュートリアルのパート 1で説明したモデル内のです。使用は、パート 1 でフィールドの値を返すと定義されているため機能します。PollChoice.poll ForeignKeychoiceCharFieldChoice{{ choice }}Choice.__unicode__()choice

于 2012-09-19T00:49:33.023 に答える