当前位置: 首页 > news >正文

摄像网站建设合肥租房网

摄像网站建设,合肥租房网,做营养的网站,乐山建网站上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型的介绍F对象、Q对象、聚合查询等功能。不管什么查询#xff0c;返回的结果都基本是查询集QuerySet#xff0c;如下#xff1a;In [16]: MiddlewareInfo.objects.all()Out[16]: 1), 2),… 上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型的介绍F对象、Q对象、聚合查询等功能。不管什么查询返回的结果都基本是查询集QuerySet如下In [16]: MiddlewareInfo.objects.all()Out[16]: 1), 2), MiddlewareInfo object (3), 4), 5), reInfo: MiddlewareInfo object (6), ...其中查询集具有缓存、返回多个值、返回单个值、对查询集切片处理等功能。参考文献https://docs.djangoproject.com/zh-hans/2.1/topics/db/queries/#caching-and-querysets返回查询集的过滤器如下all()返回所有数据。filter()返回满足条件的数据。exclude()返回满足条件之外的数据相当于sql语句中where部分的not关键字。order_by()对结果进行排序。返回单个值的过滤器如下get()返回单个满足条件的对象如果未找到会引发模型类.DoesNotExist异常。如果多条被返回会引发模型类.MultipleObjectsReturned异常。count()返回当前查询结果的总条数。aggregate()聚合返回一个字典。判断某一个查询集中是否有数据exists()判断查询集中是否有数据如果有则返回True没有则返回False。In [18]: MiddlewareInfo.objects.filter( server_id__exact 2 )Out[18]: 3), 4), MiddlewareInfo object (12), 13)]In [19]: MiddlewareInfo.objects.filter( server_id__exact 2 ).exists()Out[19]: TrueIn [20]: MiddlewareInfo.objects.filter( server_id__exact 3 )Out[20]: In [21]: MiddlewareInfo.objects.filter( server_id__exact 3 ).exists()Out[21]: False两大特性惰性执行创建查询集不会访问数据库直到调用数据时才会访问数据库调用数据的情况包括迭代、序列化、与if合用。缓存使用同一个查询集第一次使用时会发生数据库的查询然后把结果缓存下来再次使用这个查询集时会使用缓存的数据。查询集的缓存每个查询集都包含一个缓存来最小化对数据库的访问。在新建的查询集中缓存为空首次对查询集求值时会发生数据库查询django会将查询的结果存在查询集的缓存中并返回请求的结果接下来对查询集求值将重用缓存中的结果。示例一经过存储后可以重用查询集第二次使用缓存中的数据。In [29]: list MiddlewareInfo.objects.filter( server_id__exact 2 )In [30]: [ item.name for item in list ]Out[30]: [nginx, kafka, mysql, mongodb]In [31]: [ item.name for item in list ]Out[31]: [nginx, kafka, mysql, mongodb]使用这种方式读取查询集访问mysql中执行SQL的次数只有第一次读取的时候执行。mysql日志如下示例二如下是两个查询集无法重用缓存每次查询都会与数据库进行一次交互增加了数据库的负载。In [32]: [ item.name for item in MiddlewareInfo.objects.filter( server_id__exact 2 ) ]Out[32]: [nginx, kafka, mysql, mongodb]In [33]: [ item.name for item in MiddlewareInfo.objects.filter( server_id__exact 2 ) ]Out[33]: [nginx, kafka, mysql, mongodb]可以看到每次读取list的数据时都进行这个查询集的执行所以mysql执行日志有两次如下限制查询集可以对查询集进行取下标或切片操作等同于sql中的limit和offset子句。注意不支持负数索引。”对查询集进行切片后返回一个新的查询集不会立即执行查询。如果获取一个对象直接使用[0]等同于[0:1].get()但是如果没有数据[0]引发IndexError异常[0:1].get()如果没有数据引发DoesNotExist异常。示例如下In [34]: MiddlewareInfo.objects.all()[0:2]Out[34]: 1), 2)]In [35]: MiddlewareInfo.objects.all()[0:1]Out[35]: 1)]In [36]: MiddlewareInfo.objects.all()[0]Out[36]: 1)
http://www.pierceye.com/news/356196/

相关文章:

  • 百度云网站建设视频教程超市网站设计
  • 主机屋 建网站教程wordpress收费会员插件
  • 天津网站建设的公司哪家好shopify和wordpress
  • 网站设计风格评价天元建设集团有限公司 伊永成
  • 望都网站建设山东的互联网公司都有什么
  • 开发一个网站需要多少人邢台网站建设服务商
  • 钦州建设局网站seo网站关键词优化机构
  • 北京工程信息网站网站建设及管理使用情况汇报
  • 网页网站原型图占位符怎么做公司宣传策划方案
  • 企业网站颜色选择wordpress自然志下载
  • 介绍几个网站重庆网站建设微信开发
  • wordpress小工具跟随最新外贸seo
  • 网站域名的密码电子商务网站策划书3500字
  • 2008 iis 添加 网站 权限设置权限网站开发工程师题
  • 公司域名查询网站网页设计工具软件有哪些
  • 毕业设计网站建设选题依据设计公司网站应该包括的信息
  • wordpress 仪表板主题seo网站排名厂商定制
  • 网站建设成本报表wordpress缺点
  • 外贸建站选择哪个服务器好免费自动生成二维码
  • 建设部申请自己网站c 做网站设计
  • 软件制作网站网站维护合同模板
  • 那家财经网站做的好陕西网站建设公司哪有
  • 淄川网站建设中小型企业网站建设
  • phpcms 投资 网站源码wordpress主题网站
  • 聊城网站托管义乌外贸公司联系方式
  • 开发一个小程序对网站做综合搜索引擎优化分析
  • 网站开发自学网有哪些企业可以做招聘的网站有哪些
  • 网站怎么做百度推广网站开发者模式
  • 学校网站设计制作目的做网站推广方法
  • wordpress建站云平台小程序商城开发平台