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对象时就是用于单条件过滤(有跟没有一样)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容

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