如何使用Django choicefield在动态中设置选项?

rtv*_*5t4 8 python django

我想在动态中设置选择.

我使用了__set_choices方法但是,当请求方法是POST时,is_valid方法总是返回False.

if request.method=='POST':
 _form = MyForm(request.POST)
 if _form.is_valid():
   #something to do

mae*_*rsu 17

我经常在构造函数中动态设置选择:

class MyForm(BaseForm):
    afield = forms.ChoiceField(choices=INITIAL_CHOICES)

    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.fields['afield'].choices = my_computed_choices
Run Code Online (Sandbox Code Playgroud)