Djangoフォームフィールドこれは文字列のリストを取ります。Django Form文字列のリストのフィールド
このリストを繰り返して、各文字列の新しいモデルオブジェクトを作成します。
私は受け入れる必要があるため、モデルオブジェクトがフォーム送信後 までに作成されていないので、私は、モデル複数選択フィールドを行うことができない、と私は複数選択フィールドを行うことはできません一連の事前定義されたオプションだけでなく、任意の文字列
誰でもこの方法を知っていますか?
Djangoフォームフィールドこれは文字列のリストを取ります。Django Form文字列のリストのフィールド
このリストを繰り返して、各文字列の新しいモデルオブジェクトを作成します。
私は受け入れる必要があるため、モデルオブジェクトがフォーム送信後 までに作成されていないので、私は、モデル複数選択フィールドを行うことができない、と私は複数選択フィールドを行うことはできません一連の事前定義されたオプションだけでなく、任意の文字列
誰でもこの方法を知っていますか?
私は解決策を考え出しました。少しハッキリですが、今のところうまくいきます。
フォームデータをつかむした後、私は変数にリストを隠しておく:
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フォームフィールドがリストを持っていないので、リストをフォームに取り込み、それを処理できるビューに渡す方法です。
カンマで区切られた通常のテキストフィールドを使用してください。ビューでフォームの送信を処理した後、コンマ文字列をそのフィールドに基づいて分割します。次に、新しいモデルを作成して保存するそれぞれを繰り返します。あまりにも厳しくはありません。
私はこれを考慮しましたが、私のAPIでは大変なことになります。 –