Django-将自定义表单参数传递给modelfactory

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

我有一个Django模型,如下所示:

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})