私は、モデルAとモデルBを呼び出すことができるカップルモデルを持っています.AからBへの外部キーがあります。
つまり、AとBの間の基数は1:nです。formset、inlineformset_Factoryおよびkwargs
私はMF_Bと呼ばれるB用の対応するModelFormを作成しました。私はBで定義した追加のフィールドを持っています。
上記のコードが意味するように、ここではクエリセットを使用したいと思います。 (の()のクエリーセットをスタッフフィールドに設定するためのオーバーライドコードは省略しました)
取引とは、1つのページにAと複数のフォームを作成するためですB.
とフォームは、私はちょうどinlineformset_factoryする新しいkwargsからの束を渡したいが、それはおよそ予想外のキーワード引数をcomplaingまま理由とDjangoでバックエンドのコードを見た後、私は理解:inlineformset_factoryは、カスタム取ることはありませんkwargs。メソッドsigで定義されたkwargsだけが必要です。
def inlineformset_factory(parent_model, model, form=ModelForm,
formset=BaseInlineFormSet, fk_name=None,
fields=None, exclude=None,
extra=3, can_order=False, can_delete=True, max_num=None,
formfield_callback=None):
私は私が戻ってクエリセットでくるオブジェクトをフィルタリングするself.request.userを渡す必要があるためICANはformfield_callbackを使用しないと思います。
提案がありますか?
これは、インラインフォームのフィールドをフィルタリングするためにrequest.userを使用する例を含む、[ここ](http://stackoverflow.com/questions/7310861/django-passing-parameters-to-inline-formset)に回答しました。 – dgel
@dgelありがとう!私はそれを撃つだろう。 –
@dgel django 1.3とクラスベースのビューを使用しています。私はまだ何とかself.requestにアクセスできますか?あなたが前もって時間を知っている場合に備えて、今それを試しています。 –