据我所知,即使是从Django 1.5开始,也没有嵌入式窗体的内置处理 - 即我有任意数量的组,我必须添加任意数量的成员,全部来自同一页面。我目前正在尝试使用Nathan Yergler's method to do so,但它似乎在Django 1.5下被破坏。Django嵌套formset snag
该方法的要点是重写组窗体集的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下成功部署了这个方法,或者是否有人有更好的方法来实现相同的目标?
轻微编辑:my'groups'实际上是一个更大伞的成员:一个Template对象具有多个TemplateFieldGroups,它们具有多个TemplateFields。但是,即使将GroupFormSet()传递给适当的Template实例也无法解决问题。
您能否删除您的评论并将其添加到您的问题编辑中? –