【发布时间】:2012-06-27 06:11:02
【问题描述】:
我正在尝试将内联表单集添加到表单中。这是重现错误的最少代码:
models.py
class Festival(Model):
desc = TextField(max_length=1000)
class FestivalAddress(Model):
festival = ForeignKey(Festival, related_name="addresses")
name = CharField(max_length="50")
urls.py
urlpatterns = patterns('',
url('^add/$', FestivalCreateView.as_view(), name='festival_add'),
)
views.py
class FestivalCreateView(CreateView):
model = Festival
form_class = FestivalForm
#Add FestivalAddressFormset to context here
forms.py
class FestivalAddressForm(ModelForm):
class Meta:
model = FestivalAddress
class FestivalForm(ModelForm):
class Meta:
model = Festival
FestivalAddressFormSet = inlineformset_factory(FestivalForm, FestivalAddress, form=FestivalAddressForm, extra=2)
这会引发 AttributeError:'ModelFormOptions' 对象没有属性 'get_parent_list'。我有点难过,因为我正在遵循here on SO 给出的解决方案。
编辑:我删除了 FestivalCreateView 对表单集的使用,因为不管有没有它都会发生错误。
【问题讨论】:
-
这些信息不足以解决问题。 FestivalCreateView 甚至不使用您的表单集?您需要更新示例以显示表单集的使用方式,并发布完整的堆栈跟踪。
-
Greg - FestivalCreateView 正在使用表单集。我意识到该问题与该用法无关,因此我删除了该代码以使代码更清晰。
-
好的,那么您应该删除对 Formset 的所有引用,因为它不再在您的代码中使用...
标签: django django-forms inline-formset