2018-12-01 模型

查询集:表示从数据库中获取的对象集合
查询集可以有多个过滤器

  1. 在管理器上调用过滤方法

  2. 查询集经过过滤器筛选后返回一个新的查询集,所以可以写链式调用

  3. 惰性执行 -- 创建查询集不会带来任何数据库的访问直到调用数据时,才会访问数据

  4. 直接访问数据的情况
      迭代
      序列化
      与if合用

  5. 返回查询集的方法就是过滤器
    all()
    filter() -- 返回符合条件的数据
      filter(键=值,键=值)
      filter(键=值).filter(键=值)
      以上写法条件都是且关系

  6. exclude() -- 过滤掉符合条件的数据

  7. order_by() -- 排序

  8. values() -- 一条数据就是一个对象(字典),一返回一个列表

  9. 返回单个数据
      get() -- 返回一个满足条件的对象,如果没有找到符合条件的对象,会引发一个模型类异常(未找到异常),如果找到对个对象也会引发一个异常

  10. count() -- 返回当前查询集中的对象个数

  11. first() -- 返回查询集中的第一个对象

  12. last() -- 返回查询集中的最后一个对象

  13. exists() -- 判断查询集中是否有数据,有返回true否则返回false

  14. 限制查询集 -- 返回列表,可以使用下标的方法进行限制,等同于sql中的limit语句
    注意:下标不能是负数

  15. 查询集的缓存 -- 每个查询集都包含一个缓存,来最小化的对数据库访问(减少数据库的查询压力)
    在新建的查询集中,缓存是为空,第一次对查询集求值(直接访问数据库),此时会发生缓存,在下次访问相同的数据时,会优先访问缓存

  16. 字段查询 -- 实现了sql中的where语句,作为过滤器的参数(条件)
    语法:属性名__比较运算符=值
    如:age__gt=20
    查询外键:属性名_id
    转义:sql中的like语句中的%为通配符(模糊查询),如果需要向匹配%则需要转移name__contains='%'
    比较运算符
       exact -- 判断,大小写敏感
       contains -- 是否包含,大小敏感
       startswith/endswith -- 以什么开头/以什么结尾
       以上加上一个i就表示不区分大小写
       isnull/isnotnull -- 是否为空/不为空
       in -- 是否包含在范围内
       gt/gte/lt/lte/ -- 大于、大于等于、小于、小于等于
       year/month/day/week_day/hour/minute/second -- 时间相关
       关联查询 -- 类sql中的内关联和外关联
       查询快捷 -- pk -- 主键

    聚合函数 -- 使用aggregate()函数返回的值
       AVG
       Count
       Max
       Min
       Sum

  F对象 -- 支持算数运算和相同对象间的字段比较

  Q对象 -- 过滤器中的方法中的关键字参数,最要做条件组合(且 &、或 | 、非 ~ )
  只有一个Q对象时就是用于单条件过滤(有跟没有一样)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,120评论 19 139
  • Django 1.8.2 文档Home | Table of contents | Index | Modules...
    轩辕小爱阅读 6,938评论 0 2
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,188评论 2 89
  • 我是彦彦,这是我的每天一篇原创文章之第281篇。 今天我一直在聊天,跟各种各样的人聊天,感觉就像放电影一样,好像走...
    彦值圈阅读 1,535评论 0 3
  • 村头,嘴馋的小胖孩绕着卖肉汤的老爹爹迟迟不愿意离去,眼巴巴得盯着锅里的肉汤。 爹爹瞧她眼睛放光的可爱模样,着实惹人...
    九命熠心阅读 1,499评论 0 0

友情链接更多精彩内容