我有一个模型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/

10-12 03:57