python - django中外键和多对多表单传入值,取值操作怎么做?
PHP中文网
PHP中文网 2017-04-18 09:25:35
0
1
540

对于别的类型的表单数据我使用的是cleaned_data['列名']取得传入值,对于ChoiceFieldMultipleChoiceField的传入值取值应当怎么取?如果用cleaned_data['列名']方式取值分别会得到什么样的数据结构?

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(1)
刘奇

コード:
モデル:

を使用してテストできます。 リーリー

テストとして、テーブルに 3 行のデータを挿入します。

リーリー

フォーム:

リーリー

上記のフォームでは、ModelChoiceField と ModelMutipleChoiceField をクエリセットで作成し、ID が 2 以下のオブジェクトをクエリします。

ビュー:

リーリー

テンプレート:

リーリー

以下のようにフォームに記入していきます。

出力結果は次のとおりです:

リーリー

これは次のことからわかります:
ModelChoiceField は、cleaned_data を通じて、対応するクエリセットに対応するモデルのインスタンスに値を返します。
ModelMultipleChoiceField は、cleaned_data を通じて、対応するクエリセットに対応するモデルのインスタンスのリストを返します。
他のフォームは、cleaned_data 戻り値を使用してフィールドのタイプを定義します。
Django のドキュメントは非常に明確なので、注意深く読むことができます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート