Django-将自定义表单参数传递给modelfactory
我有一个Django模型,如下所示:Django-将自定义表单参数传递给modelfactory,django,django-forms,formsets,Django,Django Forms,Formsets,我有一个Django模型,如下所示: class ContactPhoneForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(ContactPhoneForm, self).__init__(*args, **kwargs) #.... …以及一个视图,在该视图中,我尝试获取相应的表单集: ContactPhoneFormSet = modelformset_factory(Cont
class ContactPhoneForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ContactPhoneForm, self).__init__(*args, **kwargs)
#....
…以及一个视图,在该视图中,我尝试获取相应的表单集:
ContactPhoneFormSet = modelformset_factory(ContactPhone,
ContactPhoneForm,
extra=1,
can_delete = True)
现在,我希望将一个附加参数传递给以下形式的\uuuu init\uuu
方法:
class ContactPhoneForm(forms.ModelForm):
def __init__(self, contact_id, *args, **kwargs):
self.contact_id = contact_id
super(ContactPhoneForm, self).__init__(*args, **kwargs)
#....
我试图根据以下内容改写我的观点:
但我最终得到了
TypeError:第一个参数必须是可调用的error。有什么帮助吗 Django 1.9添加了一个form_kwargs参数,因此您应该能够:
ContactPhoneFormSet = modelformset_factory(
ContactPhone, ContactPhoneForm, extra=1, can_delete=True)
formset = ContactPhoneFormSet(form_kwargs={'contact_id': contact_id})
哇:)谢谢你。也许你也应该把答案贴在这里()。就为了将来,你能想到你是在哪里知道这些信息的吗?
ContactPhoneFormSet = modelformset_factory(
ContactPhone, ContactPhoneForm, extra=1, can_delete=True)
formset = ContactPhoneFormSet(form_kwargs={'contact_id': contact_id})