我正在尝试在表单中使用django-simple-autocomplete。但是,当我向simple_autocomplete.widgets
添加调试打印时,我看到每个表单字段的小部件的__init__()
被调用两次,首先使用表单规范中提供的参数以及没有任何参数的第二时间,这显然会破坏所有与参数相关的内容。
我必须通过以下方式解决这个问题:
class MyForm(forms.Form):
def __init__(self,*args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['foo'] = AutoCompleteWidget(url="/json_url")
foo = forms.ModelChoiceField(
widget=None,
....
)
为什么这样呢?
编辑/澄清:
__init__()
。def __init__()
- 这就是我实际发现它被调用两次的方式!