Django Q查询
1、导入Q对象
from django.db.model import Q
Q 对象可以使用c&(AND)和|(OR)操作符组合起来。
当一个操作符在两个Q 对象上使用时,它产生一个新的Q 对象。
2、例子
Q(question__startswith='Who') | Q(question__startswith='What')
等同于SQL语句
WHERE question LIKE 'Who%' OR question LIKE 'What%'
3、如果一个查询函数有多个Q 对象参数(逗号隔开的),这些参数的逻辑关系为“AND"。
Poll.objects.get(
Q(question__startswith='Who'),
Q(pub_date=date(2018, 5, 29)) | Q(pub_date=date(2018, 5, 30))
)
#等同于下列SQL语句:
SELECT * from polls WHERE question LIKE 'Who%'
AND (pub_date = '2018-05-29' OR pub_date = '2018-05-30')
4、Q 对象可以使用~ 操作符取反,这允许组合正常的查询和取反(NOT) 查询:
Q(question__startswith='Who') | ~Q(pub_date__year=2017)
5、查询函数可以混合使用Q对象和关键字参数。所有提供给查询函数的参数(关键字参数或Q 对象)都将"AND”在一起。但是,如果出现Q 对象,它必须位于所有关键字参数的前面。例如
Poll.objects.get(
Q(pub_date=date(2018, 5, 29)) | Q(pub_date=date(2018, 5, 30))
question__startswith='Who'
#下列是不合法的查询条件
Poll.objects.get(
question__startswith='Who',
Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6)))
Django Q查询相关推荐
- Python Django Q查询和F查询API
- Django 的F查询与Q查询,事物
F查询 Django 提供 F() 来做这样的比较.F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值 示例1: 查询出卖出数大于库存数的商品 from ...
- Django的mode的分组查询和聚合查询和F查询和Q查询
1.聚合查询 # 聚合函数aggregate,求指定字段的最大值,最小值,平均值,和的值,方法如下from django.db.models import Avgfrom django.db.mode ...
- Django 【第六篇】ORM跨表操作(聚合查询,分组查询,F和Q查询等)
一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many); 一本书只应该由一个出版商出 ...
- django 中的聚合和分组 F查询 Q查询 事务cookies和sessions 066
django 中的聚合和分组 F查询 Q查询 事务cookies和sessions 066 1 聚合和分组 聚合:对一些数据进行整理分析 进而得到结果(mysql中的聚合函数) 1aggregate( ...
- Django聚合分组查询(F与Q查询|ORM查询优化|常见字段参数)
文章目录 一.正反向查询进阶操作 二.聚合查询 三.分组查询 四.ORM再次添加字段 五.F与Q查询 五.ORM查询优化 六.事务操作 七.模型层常见字段 八.ORM常见字段参数 九.多对多三种创建方 ...
- Django的Q查询
Complex lookups with Q objects(Q对象的复杂查询) 仅仅靠单一的关键字参数查询已经很难满足查询要求.此时Django为我们提供了Q查询: class Q 1.Q对象(dj ...
- Django Model各种操作 Meta 常用字段 一对多操作 多对对操作 F Q查询 聚合函数
Model操作 meta源信息 class CLS(models.Model):username = models.CharField(max_length=32)class Meta:db_tabl ...
- Day51python Django 多表操作 聚合查询、分组查询、F查询、Q查询
1聚合查询aggregate aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典,可以自己制定键. 1.# 计算所有图书的平均价格 books = mo ...
- django 中的聚合函数,分组函数,F 查询, Q查询
先以mysql的语句,聚合用在分组里, 对mysql中groupby 是分组 每什么的时候就要分组,如 每个小组,就按小组分, group by 字段 having 聚合函数 #举例 :求班里的平均 ...
最新文章
- keil git 编译文件_keil下的STM32程序开发部署(一)
- 整合用户篇—Oauth2理解与构造简单的系统
- 提交不了_从来没有借过钱!征信空白,为什么办不了信用卡?
- 20000赫兹的声音试听下载_好听又不贵,DLC球顶双面镀铍动圈:七赫兹i99
- python静态变量和静态方法_python的静态成员变量、实例成员变量、静态方法、类方法、实例方法...
- 单片机上运行linux程序代码,在Linux下烧录51单片机
- java timer schedule_java怎么再次设置Timer的schedule???
- idata界面_iData手持移动终端组合键恢复出厂设置教程
- htnl 点击系统记录显示在右侧_软网推荐:时间管理者 记录工时与薪酬
- 信息系统开发与管理(自考)往届题目复习
- The Python Debugger Command
- 北京住房仰视链,你在第几层?
- hdu5294Tricks Device【最短路+网络流】
- 如何安装linux系统步骤
- access简述报表的功能_access中报表的作用
- vue3 内置组件keep-alive用法的全面介绍
- 跟随《西西里的美丽传说》 慢游锡拉库萨
- Insomnia的下载
- mysql查看数据库事务隔离级别_MySQL查看和修改事务隔离级别的实例讲解
- uva 10118(DP)
热门文章
- 阿里巴巴python开发面试题_2019阿里巴巴面试题集锦(有答案哦),收藏!
- keras求两向量间的余弦值
- 【计算机视觉】简述对MSAA(多尺度注意力融合)的理解
- 如何用计算机测量图片景深,用比较仔细的测量搞清楚“景深”(1.实测景深与公式比较)...
- python lncrna_使用CNCI分析lncRNA
- 「 神器 」快速启动应用Wox
- bootstrap table
- c语言 switch整型,c语言switch型别强制转换的问题。
- 拼多多分享好友砍价Java实现_拼多多砍价怎么发到qq?怎么帮好友砍价?
- Layer子域名挖掘机