Динамическое получение списка выбора для формы
Есть простая форма
class MyForm(forms.Form):
CHOICE = [(1, 1), (2, 2)]
choice = forms.ChoiceField(choices=CHOICE)
Здесь CHOICE сразу указан, а как его динамически получать во вьюхе? Вьюшка отображает форму и в зависимости от того какой список получает, тот и будет в списке выбора. Если во вьюхе получить экземпляр формы, то не меняется все равно
form = MyForm()
form.CHOICE = [(3, 3), (4, 4)]
Ответы (1 шт):
Автор решения: Михаил Алексеевич
→ Ссылка
class MyForm(forms.Form):
def __init__(self, choices=[(1, 1), (2, 2)], *args, **kwargs)
self.choices = choices
super().__init__(*args, **kwargs)
choice = forms.ChoiceField(choices=choices)
Далее примерно так:
form = MyForm(choices = [(3, 3), (4, 4)])