我有一个像这样的Django ModelForm:
class ContactPhoneForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ContactPhoneForm, self).__init__(*args, **kwargs)
#....
...以及我尝试获取相应formset的视图:
ContactPhoneFormSet = modelformset_factory(ContactPhone,
ContactPhoneForm,
extra=1,
can_delete = True)
现在,我希望将另一个参数传递给表单的__init__
方法:
class ContactPhoneForm(forms.ModelForm):
def __init__(self, contact_id, *args, **kwargs):
self.contact_id = contact_id
super(ContactPhoneForm, self).__init__(*args, **kwargs)
#....
我试图根据this post重写我的观点:
ContactPhoneFormSet = modelformset_factory(ContactPhone,
wraps(ContactPhoneForm)(partial(ContactPhoneForm, contact_id=contact_id)),
extra=1,
can_delete = True)
但最终导致TypeError: the first argument must be callable
错误。对此有何帮助?
答案 0 :(得分:1)
Django 1.9添加了一个form_kwargs争论,所以你应该能够做到:
tmux new-window