python - Django prefetch_related 从具有多个多对多关系的模型

标签 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 的所有 Quxs:

Foo.objects.prefetch_related('bars__quxs')

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

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

工作?

最佳答案

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

关于python - Django prefetch_related 从具有多个多对多关系的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18819218/

相关文章:

django - 使用django allauth app从本地机器发送电子邮件到gmail

python - 想保存每个用户django的数据

django - 使用 post_save 信号处理程序访问新创建的模型实例的相关数据

python - 如何在Python中动态访问字典属性?

python - 如何从两个列表创建字典对象列表?

python django - 即使在安装编译版本 psycopg2-2.4.5.win32-py2.7.‌exe 之后也没有模块 psycopg2.extension

python - Django 1.7 : Passing around unsaved instances throws "unhashable" exception

Django 临时字段仅在创建时

python - 从变量渲染 HTML 标签而不转义

python - 无法传入 lambda 以申请 pandas DataFrame