1

これが明確であることを願っています-これはかなり標準的なことだと思います。

空のフォームをいくつか作成したいのですformsetが、フォームセットがレンダリングされるたびに空白のフォームの数を変える必要があります。たとえば、次のように 2 つの空のフォームを取得できます。

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

しかし、問題は、最初に必要な空のフォームの数がわからないことです。GET パラメータに応答して、インライン モデル フォームセットで多数のフォームをレンダリングしたいとします。MyFormSet()は常に 2 を返します。それ以上でもそれ以下でもありません。

私はこのようなものが欲しいです:

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

しかし、明らかにそれはうまくいきません。異なる数の空白のフォームでフォームセットをレンダリングするたびにMyFormSet、 を使用して再定義する必要がありますか? formset_factoryそれとも、明らかな何かが欠けていますか?

4

1 に答える 1

0

ビュー内の動的な追加パラメーターを使用してinlineformset_factoryを呼び出すだけで、問題ありません。django管理者はそれよりもさらに動的です(オンザフライでのサブクラス化など)。

于 2012-11-25T09:38:42.917 に答える