в моем приложении 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__() получил неожиданный аргумент ключевого слова «выбор». Я также пытался удалить параметры из класса формы, но получаю тот же результат.
Есть ли способ инициализировать ChoiceField с новым списком вариантов из представления способом, аналогичным приведенному выше? Заранее спасибо :)