首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    django select_related和prefetch_related的用法与区别

    今天我们再来学习两个非常重要的查询方法select_related和prefetch_related方法,看看如何使用它们避免不必要的数据库查询。高手过招,只差分毫。...我们先分析下这会什么会发生,然后再解释如何使用select_related和prefetch_related方法解决这个问题。 为什么会有重复查询?...Django考虑到了这一点,所以提供select_related和prefetch_related方法来提升数据库查询效率,类似于SQL的JOIN方法。...(‘category’).select_related(‘author__name’).get(id=13) # 使用select_related()可返回所有相关主键信息。...Django提供了prefect_related方法来解决这个问题。prefect_related可用于多对多关系字段,也可用于反向外键关系(related_name)。

    1.4K20

    函数周期表丨筛选丨值&表丨RELATED系列

    [1240] RELATED函数 RELATEDTABLE函数 这两个函数属于“筛选”类函数,通常情况下适用于跨表计算。 用途:根据模型关系,匹配对应数值。...RELATED会根据模型关系将维度表的数据匹配到事实表,也就是多端找一端对应值; RELATEDTABLE是RELATED的表函数模式,通常是将事实表的数据匹配到维度表,即一端寻找多端的对应值。...返回结果 RELATED返回结果为当前行所对应的匹配值; RELATEDTABLE返回结果为整张表。...例子1: RELATED例子1 = RELATED ( '维度'[组别] ) 结果: [1240] 为每一组数据,添加维度表中所对应的组别信息。...严格意义来说,RELATED系列函数本质也是迭代行上下文进行取值,只不过是顺着模型关系进行迭代,匹配取值。 小伙伴们❤GET了么?

    53700

    如何在Django中使用单行查询来获取关联模型的数据

    这通常涉及使用查询集的 select_related 或 prefetch_related 方法,这两个方法允许你在一次数据库查询中获取关联模型的数据,而不是分开的多个查询。...2、解决方案Django 提供了多种方法来进行单行查询,其中最常见的方法是使用 select_related() 和 prefetch_related()。...2.1 使用 select_related()select_related() 可以将关联模型的数据直接加载到主模型中,这样就可以在一次数据库查询中获取到所有需要的数据。...2.2 使用 prefetch_related()prefetch_related() 可以将关联模型的数据预加载到内存中,这样就可以在后续的查询中直接使用预加载的数据,而不需要再进行数据库查询。...# 使用 prefetch_related()a_list = A.objects.prefetch_related('pptls').filter(pptls__some_unique_value =

    9110
    领券