1

Django チュートリアルの最初のページの終わりに到達しました。簡単な実験を試みましたが、うまくいかなかったので混乱しています。チュートリアルに従って、変数がありますp

p = Poll.objects.get(pk=1)

p.choice_set.create(choice='Not much', votes=0)チュートリアルの指示に従って投票を作成するのではなく、次のことを試しました。

x = Choice(choice='Not much', votes=0, poll=p)

p.choice_set.all()これを行うと、空のリスト以上のものを返すと思ったでしょう。しかし、空のリストを返します

(ただし、試してみるとx.poll<Poll: What's up?>予想どおりになるため、関係は一方向にしか機能していないようです。)

うまくいくように思えても、うまくいかないのにはそれなりの理由があるはずです! (私はデータベースの経験がないことに注意してください)

どんな考えでも大歓迎

4

1 に答える 1

3

x = Choice(choice='Not much', votes=0, poll=p)モデルのインスタンスを作成しますがChoice、データベースにはまだ保存されていません。p.choice_set.all()指定されたポーリングに関連付けられている選択肢をデータベースに照会します。はDBに保存されていないためx、見つかりません。

于 2012-06-29T15:21:03.000 に答える