由不同类型的表格制成的表格

时间:2013-04-03 11:51:26

标签: django

考虑到formset_factory()函数只接受一个表单类作为参数,是否有可能在Django中由异构表单组成一个formset? 类似的东西:

    formset_factory(FormType1, FormType2,...)

1 个答案:

答案 0 :(得分:1)

没有什么能从根本上阻止formset的概念与多个表单类一起工作,但工厂的设计并没有考虑到这一点。要实现它,您实际上必须编写自己的formset工厂,该工厂会覆盖现有API的很多

考虑一下。您需要一个包含两个不同表单类的formset。在实例化formset时,它需要创建min(current + extra, max_forms)表单。但是它如何知道要创建哪个表单类?如果所有表单都相同,那很容易,但对于多个类,您必须找到一种方法来做出这种选择。我相信你可以想象这会变得多么复杂。表单向导功能可能会为这样的API如何工作提供一些可能的想法,但这是一个很长的镜头,

我认为在这种情况下,寻找替代方法可能是最佳选择。