2012-03-12 7 views
0

私はFooBarの間に多対多のリンクを持っています。私は特にマルチ選択ウィジェットが好きではないので、単一のBarを選択できるウィジェットと、より多くの選択肢フィールドを追加するボタンを持つことを考えていました。django formsetの有効な使用ですか?

私が読んできたことから、フォームセットが答えになるかもしれません。選択肢フィールドが1つしかないフォームでフォームセットを作成することは有効ですか、探している動作を取得するにはより良い方法がありますか?

答えて

2

フォームのフィールドの数については心配しません。あなたの '子'モデルが1つのフィールドしか持っていない場合は、このアプリケーションでは単一のフィールドフォームを持つフォームセットを使用することは完全に有効です。

inline formsetsをご覧ください。必要なものを正確に表示してください。私は100%M2Mのために働いているとは思っていませんが...

追加の考え方:formetがインラインでないと、M2Mで直接動作しません。モデルフォームセットを使用して、 formset.save(commit=False)を使用した後であなたの視点で。 docs: formset saving

+0

子モデルには複数のフィールドがありますが、これはフォームに配置しようとしている関係です。インラインフォームセットは興味深いようですが、私が家に帰るとこれを見ていきます。 – Jim

+0

を 'inlineformset_factory'に追加すると、使用するFormとFormsetを定義することができます。また、他のFormと同様に、' fields'や 'exclude'を指定して、フォーム - [docs](https://docs.djangoproject) com/en/1.3/topics/forms/modelforms /#フォーム上のフィールドのサブセットを使用) –

関連する問題