私のDjangoアプリケーションでは、通常、整数値の範囲から選択できるChoiceFieldを持つフォームを持っています。
class FormNumber(forms.Form):
list=[]
for i in range(1, 11):
list.append((i,i))
number=forms.ChoiceField(choices=list, initial=1)
場合によっては、より小さな範囲を使用してビューメソッドからデフォルトの選択肢リストをオーバーライドする必要がありますが、この方法でそれを実行しようとしています
n=10-len(request.session["items"])
if n>0:
list=[]
for i in range(1, n+1):
list.append((i,i))
form=FormNumber(choices={'number':list}, initial={'number':1})
TypeError が発生しました - __ init__() が予期しないキーワード引数 'choices' を取得しました。フォーム クラスからパラメーターを削除しようとしましたが、同じ結果が得られます。
上記と同様の方法で、ビューからの新しい選択肢リストで ChoiceField を初期化する方法はありますか? 前もって感謝します :)