当查询结果是多个的时候,django-ORM会返回一个 查询集(QuerySet) ,表示从数据库中获取对象的 集合

查询集可以使用过滤器进行再次处理。

例如查询阅读量大于20且评论数大于30的书

>>> book = Book.objects.filter(b_read__gt=20)
>>> book.filter(b_comment__gt=30)
<QuerySet [<Book: 天龙八部>]>

因为查询集类似一个集合,所以可以对查询集进行取下标或者切片等操作(索引不支持负数)。

查询阅读数大于20的结果,再取下标为1 的数据。

>>> book = Book.objects.filter(b_read__gt=20)
>>> book[1]
<Book: 雪山飞狐>

查询集两大特性

1. 惰性执行

创建查询集不会访问数据库,直到调用数据时,才会访问数据库,调用数据的情况包括迭代、序列化、与if合用

2. 缓存

使用同一个查询集,第一次使用时会发生数据库的查询,然后Django会把结果缓存下来,再次使用这个查询集时会使用缓存的数据,减少了数据库的查询次数。

转载于:https://www.cnblogs.com/mxuanli/p/9966703.html

django查询集-17相关推荐

  1. Redis 怎么实现保存Django 查询集

    我们在用Python Django开发秒杀系统的时候,要将Django 查询到商品详细信息保存到Redis缓存中去,但Redis不能直接保存对象,但有什么方法呢? 我们发现可用Python的pickl ...

  2. 【django】查询集QuerySet

    一.概念 Django的ORM中存在 查询集 的概念. 查询集,也称查询结果集.QuerySet,表示从数据库中获取的对象集合. 当调⽤如下过滤器⽅法时,Django会返回查询集(⽽不是简单的列表): ...

  3. Django框架(13.Django中的查询集)

    查询集 在使用Django中的模型类查询函数:all, filter, exclude, order_by调用这些函数会产生一个查询集,QuerySet类对象可以继续调用上面的所有函数. 查询集特性 ...

  4. sql server限制查询条数_18. Django 2.1.7 查询集 QuerySet

    上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型的介绍F对象.Q对象.聚合查询等功能. 不管什么查询,返回的结果都基本是查询集QuerySet,如 ...

  5. Django框架——查询集QuerySet

    目录 1.概念 2.两大特性 (1)惰性执行: (2)缓存: 3.限制查询集 1.概念 Django的ORM中存在查询集的概念. 查询集,也称查询结果集.QuerySet,表示从数据库中获取的对象集合 ...

  6. Django学习笔记(3):使用模型类进行查询(查询函数、F对象、Q对象、聚合函数、查询集、模型类关系、关联查询、自关联、管理器)

    文章目录 1.查询函数 2.F对象 3.Q对象 4.聚合函数 5.Count函数 6.查询集 查询集的特性 对查询集进行切片 判断一个查询集中是否有数据 7.模型类之间的关系 一对多关系 多对多关系 ...

  7. django 两个查询集(querySet)的并集和交集

    一.获取两个同一模型下查询集queryset的并集使用 | 和union方法 # 获取同一模型下两个查询集的并集# 解决代码如下:records = query1 | query2# 如果不想拥有重复 ...

  8. 【Django入门】——查询集QuerySet介绍

    文章目录 1. 懒惰查询 2. 查询缓存 3. 查询切片 4. 判断有无 在文章[Django入门]--通过模型类查询MySQL数据库基本操作中,我们知道函数all().filter().exclud ...

  9. 17.sql server数据库使用规则、二八原则、数据库查询集群--数据库读写分离多种实现、数据库配置读写分离(by-朝夕)

    Database 课程目标 环境准备: 一.二八原则 二.数据库读写分离 好处: 绝大部分的企业内部应用,可能不需要上图那么庞大的架构,一台主数据库服务器和一台查询服务器通常能满足读写分离的要求.而且 ...

最新文章

  1. 空空排错日志:OCS错误日志14501等解决办法
  2. 2022,普平数据中心招聘来啦!
  3. 什么是语音复用设备?
  4. 系统集成资质 -考点分析- “三点估算法”出题的形式演化分析
  5. 训练的时候 nvidia:自动刷新
  6. Spring cloud实现服务注册及发现
  7. java core 之 泛型
  8. python按字节读文件-使用Python进行二进制文件读写(转)
  9. 魔兽世界模型文件.m2 在D3D下的渲染
  10. MQ 消息队列时如何确保消息不丢失
  11. 玩转HTML邮件格式-编写图文并茂邮件如此简单
  12. SVN中clean up的含义
  13. iPad/iPhone 邮件 设置浙大邮箱
  14. MATLAB | 绘图复刻(二) | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加
  15. 2022 WordPress Tongleer 仿微博社交主题模板
  16. 计算机算最大值如何操作,如何合理设置计算机的虚拟内存值(初始大小及最大值)?...
  17. Linux网络相关问题
  18. Zynq的启动过程及加密
  19. 零基础小白复现Java 若依项目
  20. EasyUI之treegrid学习

热门文章

  1. 【收藏】使用命令行创建maven web项目
  2. k8s kubesphere安装在k8s中的基础环境准备(前提条件)
  3. Vmware Vsphere虚拟化技术:6.7新特性介绍
  4. flink scala shell命令行使用示例
  5. scala 数据类型体系一览图
  6. 简单介绍一下solr
  7. Spring注解方式配置切面类
  8. 线程池Executors创建多线程案例
  9. java代码删除文件夹_删除文件夹的java类
  10. 用python编写图片生成器_python生成器