如何使用 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 许可协议

阅读 575
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题