具有可变数量的空表单的Formset

时间:2012-11-25 08:56:19

标签: django django-forms inline-formset

我希望这很清楚 - 我认为这是一个非常标准的事情。

我想创建一个包含许多空表单的formset,但每次呈现表单集时,空白表单的数量都需要改变。例如,我可以获得2个空表格:

MyFormSet = inlineformset_factory(ParentModel, MyModel, extra=2)
# and in the view...
f = MyFormSet() # has 2 empty forms.

但问题是我最初不知道我想要多少空表格。假设我想在内联模型formset中呈现多个表单,以响应GET参数。 MyFormSet()现在总是给我2,不多也不少。

我想要这样的事情:

MyFormSet = inlineformset_factory(ParentModel, MyModel)
# In the view...
f = MyFormSet(extra=some_number())
# ... render f

但显然这不起作用。每次我想使用不同数量的空白表单呈现formset时,是否需要使用MyFormSet重新定义formset_factory?或者我错过了一些明显的东西?

1 个答案:

答案 0 :(得分:0)

您可以在视图中使用动态额外参数调用inlineformset_factory,没问题。 django管理员甚至比那更具动态性(在运行中继承子等等)。