Django:如何使用模型实例预取相关对象?

时间:2015-07-09 13:57:37

标签: python django django-models

ClassA:
 ...

ClassB:
    ForeignKey(A)

ClassC:
    ForeignKey(B)

现在我有一个C的实例。

c = C()
b = c.b
a = b.a

这样,db将被访问三次。

如何像prefetch_related一样让它们一次被提取。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找select_related

c = C.objects.select_related('b__a').get()

这将获取b和与之相关的实例。