2

Django でフォームに 2 つのモデルを使用する際に問題が発生しました。Animal と Family の 2 つのモデルがあり、どちらにも「名前」フィールドがあります。

フォームのテンプレートで 2 つのモデルフォームを使用しています。フォームが送信されると、'name' の POST データは 1 つの値のみを返します。

モデルの「名前」フィールドの名前を変更する以外に、これを回避する方法はありますか?

ご協力いただきありがとうございます。これは私の最初の投稿です。

4

2 に答える 2

3

モデルフォームを初期化するときにプレフィックス引数を利用できます。

animal_form = AnimalForm(request.POST or None, prefix="animal")
family_form = FamilyForm(request.POST or None, prefix="family")

次のような出力になります。

<input id="id_animal-name" type="text" />
<input id="id_family-name" type="text" />
于 2010-03-05T10:04:03.690 に答える
0

request.POST.getlistを使用して、同じ名前で異なる POST 値を取得できます。

ただし、正しい値はフォーム内の入力フィールドの位置に依存し (私は推測します)、これは本当に良い考えではありません。モデルではなく、フォームクラスでフィールドの名前を変更します(使用してください)。

于 2010-03-05T09:47:10.790 に答える