django我们可以在预取相关模型中选择相关的字段吗? [英] django can we select related a field on a prefetch related model?

查看:106
本文介绍了django我们可以在预取相关模型中选择相关的字段吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设这些为简单的django模型:

  class A():

a = manytomany('B')

class B():

b = charfield()
z = foreignkey('C')

class C():

c = charfield()

也可以这样做来获取 z

  foo = A .objects.get(pk = 1).prefetch_related('a')。select_related('a__z')


解决方案

您只需要一个 prefetch_related call:

  foo = A.objects.prefetch_related('a__z')。get(pk = 1)

这将预取两个表。


Assuming these as django model for the sake of simplcity:

class A():

    a = manytomany('B')

class B():

    b = charfield()
    z = foreignkey('C')

class C():

    c = charfield()

Can we do something like this to fetch the z also:

foo = A.objects.get(pk = 1).prefetch_related('a').select_related('a__z')

解决方案

You only need one prefetch_related call:

foo = A.objects.prefetch_related('a__z').get(pk=1)

This will prefetch both tables.

这篇关于django我们可以在预取相关模型中选择相关的字段吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆