6
我正在尝试为ChoiceField创建一个动态的选项列表,但我似乎无法调用请求。下面的代码:Django +表单:ChoiceField的动态选择
的错误:
AttributeError: 'CreationForm' object has no attribute 'request'
形式
class FooForm(forms.Form):
def __init__(self, *args, **kwargs):
super(FooForm, self).__init__(*args, **kwargs)
bars = self.request.session['bars']
foo_list = []
for bar in bars:
foo_list.append((bar['id'], bar['name']),)
self.fields['foo'].choices = foo_list
foo = forms.ChoiceField(choices=foo_list, required=True)
感谢您的回答。我想避免分离这两个操作,但似乎没有其他方式... – user1909186
方法的问题是,当您在另一个视图中调用表单实例上的is_valid()时,没有选择传递,因此is_valid ()总是返回False – samix73
我们怎样才能重用FormView这个特殊的窗体?通常,FormView在实例化Form时不接受参数...我是否必须编写FormView的自定义特化? –