2016-04-23 12 views
0

複数のフォームを持つページとフォームの1つに不明な数の要素を処理する最善の方法は何ですか?不明な要素数でフォーム送信を処理するにはどうすればよいですか?

私は、Book、Recipe、Ingredientの3つのモデルがあり、これらを同じWebページに表示する必要があるとします。各本には任意の数のレシピを保持することができ、各レシピは任意の数の成分を保持することができます。これらのモデルはそれぞれ、ModelFormを継承するフォームを持ちます。

フォームがユーザーに表示されたら、彼女は必要な数のレシピまたは成分を自由に動的に追加できます。これは、Ajaxを使用しないJSを介して行われます。

フォームの検証時にこれを処理する最も良い方法は何ですか? Bookのフォームを検証するのは簡単ですが、未知数のレシピと成分をどのように扱いますか?

答えて

0

解決策は、prefixesと数字を使用することです。したがって、フォームには接頭辞「recipe_1_」があり、レシピの各成分には接頭辞 'ingredient_1_'が付きます。

2番目のレシピと2番目のセットの成分は整数だけ上になります。

request.formから値を取得し、通常はrequest.formの内容をループして使用するフォームを1つずつ作成する必要があります。

関連する問題