検索

ホームページ  >  に質問  >  本文

python - django中外键和多对多表单传入值,取值操作怎么做?

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

PHP中文网PHP中文网2811日前543

全員に返信(1)返信します

  • 怪我咯

    怪我咯2017-04-18 09:27:35

    コード:
    モデル:

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

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

    リーリー

    フォーム:

    リーリー

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

    ビュー:

    リーリー

    テンプレート:

    リーリー

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

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

    リーリー

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

    返事
    0
  • キャンセル返事