zoukankan      html  css  js  c++  java
  • select_related prefetch_related

        # select_related与prefetch_related
    # # select_related帮你直接连表操作 查询数据 括号内只能放外键字段
    # # res = models.Book.objects.all().select_related('publish')
    # # for r in res:
    # # print(r.publish.name)
    # # res = models.Book.objects.all().select_related('publish__xxx__yyy__ttt')
    # # print(res)
    # # res = models.Book.objects.all()
    # """
    # select_related:会将括号内外键字段所关联的那张表 直接全部拿过来(可以一次性拿多张表)跟当前表拼接操作
    # 从而降低你跨表查询 数据库的压力
    #
    # 注意select_related括号只能放外键字段(一对一和一对多)
    # res = models.Book.objects.all().select_related('外键字段1__外键字段2__外键字段3__外键字段4')
    # """
    # # prefetch_related 不主动连表
    # res = models.Book.objects.prefetch_related('publish')
    # """
    # 不主动连表操作(但是内部给你的感觉像是连表操作了) 而是将book表中的publish全部拿出来 在取publish表中将id对应的所有的数据取出
    # res = models.Book.objects.prefetch_related('publish')
    # 括号内有几个外键字段 就会走几次数据库查询操作
    # """
    # for r in res:
    # print(r.publish.name)
    #
  • 相关阅读:
    PKUSC 2018 题解
    [bzoj 1758] 重建计划
    bzoj 5329 [SDOI2018] 战略游戏
    bzoj 5285 [HNOI2018] 寻宝游戏
    Django 之认证模块
    Django之form表单
    Django 之AJAX
    Django 之中间组件
    Django之 Cookie,Session
    Django之F和Q查询等其他查询
  • 原文地址:https://www.cnblogs.com/huangxuanya/p/11559695.html
Copyright © 2011-2022 走看看