我有一个模型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)
最佳答案
这是多对多字段实例:
MyModel2.mymodel1
这是中间表模型:
MyModel2.mymodel1.through
这是中介模型经理:
MyModel2.mymodel1.through.objects
这将返回所有中间模型的查询集:
MyModel2.mymodel1.through.objects.all()
Django文档的This part讨论
through
。您可以自己创建一个through
模型,否则它将自动生成。关于python - 如何直接查询Django创建的表的ManyToMany关系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14820579/