46

MyModel2別のモデルにManyToManyField関連するモデルがありMyModel1ます。

mymodel1.id, mymodel2.idDjango がこの関係のために作成するテーブルに示されているように、ペアを取得するにはどうすればよいですか? このテーブルに対して生の SQL クエリを実行する必要がありますか?それとも、このモデルのオブジェクト マネージャーを介して実行できますか?

class MyModel1(models.Model):
    name = models.CharField(max_length=50)
  

class MyModel2(models.Model):
    name = models.CharField(max_length=50)
    mymodel1 = models.ManyToManyField(MyModel1)
4

1 に答える 1

98

これは、多対多フィールド インスタンスです。

MyModel2.mymodel1

これは中間テーブル モデルです。

MyModel2.mymodel1.through

これは中間モデル マネージャーです。

MyModel2.mymodel1.through.objects

これは、すべての中間モデルのクエリセットを返します。

MyModel2.mymodel1.through.objects.all()

django ドキュメントのこの部分throughでは、 . モデルは自分で作成できますがthrough、それ以外の場合は自動的に生成されます。

于 2013-02-11T20:53:17.100 に答える