文字列のリストを取得する Django フォーム フィールドが必要です。
このリストを繰り返し処理し、文字列ごとに新しいモデル オブジェクトを作成します。
Model Multiple Choice Fieldは実行できません。モデル オブジェクトはフォームの送信後まで作成されないためです。また、 Multiple Choice Fieldを実行することもできません。定義されたオプション。
誰でもこれを行う方法を知っていますか?
文字列のリストを取得する Django フォーム フィールドが必要です。
このリストを繰り返し処理し、文字列ごとに新しいモデル オブジェクトを作成します。
Model Multiple Choice Fieldは実行できません。モデル オブジェクトはフォームの送信後まで作成されないためです。また、 Multiple Choice Fieldを実行することもできません。定義されたオプション。
誰でもこれを行う方法を知っていますか?
コンマで区切られた通常のテキスト フィールドを使用するだけです。ビューでフォーム送信を処理した後、そのフィールドに基づいてコンマ文字列を分割します。次に、新しいモデルを作成して保存するたびに繰り返します。難しすぎてはいけません。
私は解決策を思いつきました - 少しハックですが、今のところうまくいきます。
フォーム データを取得したら、リストを変数に格納します。
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フォームフィールドがまだないため、これは私が尋ねた質問を直接解決しないことを認識していますが、フォームを取得してそれを処理できるビューにリストを渡す方法です.