10

文字列のリストを取得する Django フォーム フィールドが必要です。

このリストを繰り返し処理し、文字列ごとに新しいモデル オブジェクトを作成します。

Model Multiple Choice Fieldは実行できません。モデル オブジェクトはフォームの送信後まで作成されないためです。また、 Multiple Choice Fieldを実行することもできません。定義されたオプション。

誰でもこれを行う方法を知っていますか?

4

3 に答える 3

8

コンマで区切られた通常のテキスト フィールドを使用するだけです。ビューでフォーム送信を処理した後、そのフィールドに基づいてコンマ文字列を分割します。次に、新しいモデルを作成して保存するたびに繰り返します。難しすぎてはいけません。

于 2012-11-28T22:30:50.323 に答える
-3

私は解決策を思いつきました - 少しハックですが、今のところうまくいきます。

フォーム データを取得したら、リストを変数に格納します。
event_locations = form_data.get('event_locations', None)

次に、それを form_data から削除して、Django フォームがリストを取得しないようにします。

if event_locations:
   del form_data['event_locations']

form_data でフォームをインスタンス化し、リストを個別に処理します。

f = NewEventForm(form_data)
...
for loc in event_locations:
  #create new models here

リストを取得するDjangoフォームフィールドがまだないため、これは私が尋ねた質問を直接解決しないことを認識していますが、フォームを取得してそれを処理できるビューにリストを渡す方法です.

于 2012-11-29T18:23:25.363 に答える