なぜManyToManyField line
を気:M2M分野はModelAdmin
またはModelForm
(、デフォルトのウィジェットを除く宣言フィールド)のような多くのモデルフィールドのインターフェースに便利ですジャンゴfields
です。また、管理者にアクセスしやすいM2MマネージャやM2Mの自動保存といったヘルパーメソッドも生成します。
ここでは、フィールドが管理パネルで自動的に実行される内容の簡単な例を示します。メインオブジェクトを保存せずにスルーモデルを保存することはできません。メインオブジェクトが自動的に保存された後、管理者はこの動作をsave_m2m
で処理します。 m2mフィールドを使用しなかった場合は、この種のロジックを自分でコーディングする必要があります。
あなたのプロジェクトがm2mフィールドで動作するときにこのフィールドを使用すると思いますが、ほんの少量の追加情報が必要です。そうすれば、あなたのコードは典型的なm2m関係と事実上同じですが、必要なときに余分な情報を問い合わせることができます。
それ以外の場合は、単なる「DATE_ADDED」フィールドを追加すると、管理ウィジェット、save_modelフック、のModelForm表現などを書く必要になる
あなたはそれがどんなをすることはありませんモデルを通じてでM2M行を削除する権利のにねm2mfield機能をデフォルトのForeignKeyリバース・マネージャーに置き換えることができます。
model.m2m_through_set.all() # this would work
model.m2m_through_set.create(target=target_instance)