Django prefetch_related从具有多个ManyToMany关系的模型

时间:2013-09-16 01:22:17

标签: python django django-models

说我在Django中有几个模型:

class Foo(models.Model):
bars = models.ManyToManyField(Bar)
bazs = models.ManyToManyField(Baz)

class Bar(models.Model):
quxs = models.ManyToManyField(Qux)

我可以使用prefetch_related来获取属于Foo的所有Bars和属于Bar的所有Qux:

Foo.objects.prefetch_related('bars__quxs')

但是如何使用prefetch_related来获取此信息以及属于Foo的所有Baz?会是这样的:

Foo.objects.prefetch_related('bars__quxs', 'bazs')

工作?

1 个答案:

答案 0 :(得分:11)

是。您可以将多个查询传递给.prefetch_related()