3

formset_factory() 関数がパラメータとしてフォーム クラスを 1 つだけ取ることを考慮して、Django でフォームセットを異種フォームで構成することは可能ですか? 何かのようなもの:

    formset_factory(FormType1, FormType2,...)
4

1 に答える 1

2

フォームセットの概念が複数のフォーム クラスで機能することを根本的に妨げるものは何もありませんが、ファクトリはそれを考慮して設計されていません。それを実現するには、現実的には、既存の APIの多くをオーバーライドする独自のフォームセット ファクトリを作成する必要があります。

このことを考慮。2 つの異なるフォーム クラスで構成されるフォームセットが必要です。フォームセットがインスタンス化されると、フォームを作成する必要がありますmin(current + extra, max_forms)。しかし、作成するフォーム クラスをどのように知るのでしょうか? すべてのフォームが同じであれば簡単ですが、クラスが複数ある場合は、この選択を行う方法を考え出す必要があります。これがいかに複雑になるか想像できると思います。フォーム ウィザードの機能は、そのような API がどのように機能するかについていくつかの考えられるアイデアを提供するかもしれませんが、それはロング ショットです。

この場合、別のアプローチを見つけることが最良の選択かもしれないと思います。

于 2013-04-03T12:03:50.240 に答える