对于别的类型的表单数据我使用的是cleaned_data['列名']
取得传入值,对于ChoiceField
和MultipleChoiceField
的传入值取值应当怎么取?如果用cleaned_data['列名']
方式取值分别会得到什么样的数据结构?
怪我咯2017-04-18 09:27:35
コード:
モデル:
テストとして、テーブルに 3 行のデータを挿入します。
リーリーフォーム:
リーリー上記のフォームでは、ModelChoiceField と ModelMutipleChoiceField をクエリセットで作成し、ID が 2 以下のオブジェクトをクエリします。
ビュー:
リーリーテンプレート:
リーリー以下のようにフォームに記入していきます。
出力結果は次のとおりです:
リーリーこれは次のことからわかります:
ModelChoiceField は、cleaned_data を通じて、対応するクエリセットに対応するモデルのインスタンスに値を返します。
ModelMultipleChoiceField は、cleaned_data を通じて、対応するクエリセットに対応するモデルのインスタンスのリストを返します。
他のフォームは、cleaned_data 戻り値を使用してフィールドのタイプを定義します。
Django のドキュメントは非常に明確なので、注意深く読むことができます。