我有一个模型MyModel2
,ManyToManyField
与另一个模型MyModel1
相关。
如何获得对mymodel1.id, mymodel2.id
,如Django为此关系创建的表所示?我是否必须在此表上执行原始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)
答案 0 :(得分:49)
这是多对多的字段实例:
MyModel2.mymodel1
这是中间表模型:
MyModel2.mymodel1.through
这是中间模特经理:
MyModel2.mymodel1.through.objects
这将返回所有中间模型的查询集:
MyModel2.mymodel1.through.objects.all()
django docs的{p> This part谈论through
。您可以自己制作through
模型,否则会自动生成。