私が知る限り、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 でこの方法をうまく展開した人はいますか? あるいは、同じ目標を達成するためのより良い方法を持っている人はいますか?
ちょっとした編集: 私の「グループ」は、実際にはさらに大きな傘のメンバーです: Template オブジェクトには、複数の TemplateFields を持つ複数の TemplateFieldGroups があります。ただし、 GroupFormSet() に適切な Template インスタンスを渡しても、当面の問題は解決しません。