前提・実現したいこと
試作中のWEBアプリにて、MultipleChoiceFieldフォームでチェックした値が、送信(POST)後に一旦クリアされてしまいます。これを、値がそのままキープされて、次の送信時に再度チェックし直さなければならない状態を解消したいと思っています。
そこでお聞きしたいのが、以下の点です。
- そもそもMultipleChoiceFieldフォームの仕様がそういうものなのか?
- パラメータの設定により回避できるものなのか?
- フォームレベルではなく、views.pyで対応すべき問題なのか?
以前も同様な質問をさせてもらいましたが、自分でもよく整理できてないため、質問文がごちゃごちゃし過ぎて、不明瞭だったようなので、問題を切り分ける形で再度質問させて頂きます。
よろしくお願いします。
発生している問題・エラーメッセージ
チェックがクリアされたままで再度送信(POST)すると、当然ながら、以下のようなエラーとなります。(views.pyでのコード的には、チェックされた値を辞書に格納する形です。)
Cannot choose from an empty sequence
該当のソースコード
Forms.pyでは、次のように定義しています。
python
1class SelectForm(forms.Form): 2 3 verbs= forms.MultipleChoiceField ( 4 label = 'AAA', 5 choices = [ 6 ("choice_1", "(1)"), 7 ("choice_2", "(2)"), 8 ("choice_3", "(3)"), 9 ], 10 widget = forms.CheckboxSelectMultiple(), 11 required=False 12 )
補足情報(FW/ツールのバージョンなど)
[環境]
Mac Os Catalina
Django 3.1.1
Python 3.8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。