据我所知,即使从 Django 1.5 开始,也没有对嵌套表单集的内置处理 - 即我有任意数量的组,我必须向其中添加任意数量的成员,所有这些都来自同一页面。我目前正在尝试使用Nathan Yergler 的方法来这样做,但它似乎在 Django 1.5 下被破坏了。
该方法的要点是覆盖组表单集的add_fields
方法以包含一个inline_formset
成员。但是,当我在视图中创建 GroupFormSet 实例时,无论我是否传递了任何组实例,我都会得到一个ValidationError: 'ManagementForm data is missing or has been tampered with'
例如,我认为的一个片段get_context_data
:
group_inst = models.TemplateFieldGroup.objects.filter(name="Study")[0]
context['group_formset'] = forms.GroupFormSet(instance=group_inst)
有没有人在 Django 1.5 下成功部署了这个方法,或者有没有人有更好的方法来实现同样的目标?
轻微编辑:我的“组”实际上是更大伞的成员:一个模板对象有多个模板字段组,这些模板字段组有多个模板字段。但是,即使将 GroupFormSet() 传递给适当的 Template 实例也不能解决手头的问题。