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

新手上路,请多包涵

我想设置动态选项。

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

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

原文由 rtv5t5t4 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 650
1 个回答

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

 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

原文由 maersu 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题