首页 文章

Django内联表单集中的初始和额外关系如何?

提问于
浏览
1

Django文档说“如上所示,您可以定义额外表单的数量 . 这意味着您要告诉formset除了从初始数据生成的表单数量之外还要显示多少其他表单 . ”来源here .

但是,(至少)使用内联表单集,似乎并非如此 . 看起来 extra 参数决定了表单的总数 . 如果我写 extra=0 我根本就没有表格可以显示, extra=1 我只会得到第一个,依此类推 . 好像你必须设置额外的初始数据的长度(不是很干,是吗?)

人们做同样事情的一些例子( extra=len(myinitial) ):

问题是: Am I missing anything in the documentation or why does this make sense?

注意 . 我没有包含源代码,因为我正在使用django-extra-views进行开发,这增加了示例代码的复杂性 . 尽管如此,周围的几个例子似乎指向同一件事 . (不过我不知道我以前的项目做了什么,但我认为我遇到了与普通内联表单集相同的问题) .

1 回答

  • 1

    关于model formsets(和内联表单集)的Django文档:

    与常规表单集一样,通过在实例化modelformset_factory返回的模型formset类时指定初始参数,可以为表单集中的表单指定初始数据 . 但是,对于模型表单集,初始值仅适用于额外的表单,即未绑定到现有对象实例的表单 .

    我注意到了相同的行为,至少对于Django 1.4和使用模型formsets . 我认为文档需要改进 .

    另外,我发现了这个相关的bug here .

相关问题