Django 内联表单集错误

kni*_*ite 1 django django-forms inline-formset

我正在尝试向表单添加内联表单集。这是重现错误的最少代码:

模型.py

class Festival(Model):
    desc = TextField(max_length=1000)

class FestivalAddress(Model):
    festival = ForeignKey(Festival, related_name="addresses")
    name = CharField(max_length="50")
Run Code Online (Sandbox Code Playgroud)

网址.py

urlpatterns = patterns('',
    url('^add/$', FestivalCreateView.as_view(), name='festival_add'), 
)
Run Code Online (Sandbox Code Playgroud)

视图.py

class FestivalCreateView(CreateView):
    model = Festival
    form_class = FestivalForm

    #Add FestivalAddressFormset to context here
Run Code Online (Sandbox Code Playgroud)

表格.py

class FestivalAddressForm(ModelForm):
    class Meta:
        model = FestivalAddress

class FestivalForm(ModelForm):
    class Meta:
        model = Festival

FestivalAddressFormSet = inlineformset_factory(FestivalForm, FestivalAddress, form=FestivalAddressForm, extra=2)
Run Code Online (Sandbox Code Playgroud)

这会抛出 AttributeError: 'ModelFormOptions' object has no attribute 'get_parent_list'。我有点困惑,因为我正在遵循SO 上给出的解决方案。

编辑:我删除了 FestivalCreateView 对表单集的使用,因为无论有没有它都会发生错误。

kni*_*ite 5

看起来我对 inlineformset_factory 的调用不正确。根据docs,第一个参数应该是模型,而不是表单。