django中的聚合函数、分组函数以及F、Q查询的用法介绍
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,本篇内容介绍了"django中的聚合函数、分组函数以及F、Q查询的用法介绍"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细
千家信息网最后更新 2025年11月13日django中的聚合函数、分组函数以及F、Q查询的用法介绍
本篇内容介绍了"django中的聚合函数、分组函数以及F、Q查询的用法介绍"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
聚合 是aggreate(*args,**kwargs),通过QuerySet 进行计算。做求值运算的时候使用
分组 是annotate(*args,**kwargs),括号里是条件,遇到 每什么的时候就要分组,
先从models 导入要用到的函数
from django.db.models import Min,Avg,Max,Sumdef aggregate(request): #求所有书籍的平均价格 ret11 = Book.objects.all().aggregate(Avg("price")) # print(ret11)#{'price__avg': 51.975} #求所有书籍的最高价 ret12 = Book.objects.all().aggregate(MaxPrice=Max('price')) # print(ret12)#{'MaxPrice': Decimal('100.00')} #egon 出版过书籍的最高价格 p = Book.objects.filter(authors__name='egon').aggregate(Max('price')) print(p)#{'price__max': Decimal('100.00')} #分组 annotate() #每一个作者出版过的书的最高价 , #解析,按照作者的名字分组,就要用到values,显示的是字段的名字, b1 = Book.objects.values('authors__name').annotate(Max('price')) print(b1) ## 四个作者都关联了同一本书,而这本书又是最高价#每个出版社出版的最低价格的书籍b2 = Book.objects.values('publish__name').annotate(Min('price'))print(b2)# F Q 查询
F,主要是做查询
Q查询 可以做组合条件的查询 & 是 与 ,|(管道符) 或,~ 非
def FAndQ(request): #给每本书涨价10元, #用sql语句写 update book set price=price+10 #F,主要是做查询 # Book.objects.all().update(price=F('price')+10) #查询书籍是富开头,并且价格大于30的书籍 ,逗号 可以做 与 的关系查询 b4 = Book.objects.filter(title__startswith="富",price__gt=30) # print(b4)#]> #Q查询 可以做组合条件的查询 & 是 与 ,|(管道符) 或,~ 非 ##查询书籍是富开头,或价格大于30的书籍 b5 = Book.objects.filter(Q(title__startswith="富") | Q(price__gt=60)) # print(b5) #, , , ]> #组合查询,以富开头,价格大于60 ,或者id大于5的书籍 b6 = Book.objects.filter(Q(title__startswith="富")&Q(price__gt=60)|Q(id__gt=5)) #print(b6)#]> # #查询条件如果不加Q,就要放到最后面, b7 = Book.objects.filter(Q(price__gt=60) | Q(id__gt=5),title__startswith="富") # print(b7) # ~ 取反的意思 b8 = Book.objects.filter(Q(title__startswith="富") & ~Q(price__gt=60) | Q(id__gt=5)) print(b8) "django中的聚合函数、分组函数以及F、Q查询的用法介绍"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
查询
书籍
分组
价格
函数
最高
条件
出版
作者
开头
最高价
组合
内容
名字
时候
更多
知识
管道
实用
最低
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
hbase数据库是竖式的
数据库提供的数据类型不包括
强调网络安全ppt
域服务器如何设置安全策略
Db导出数据库表
服务器路由器桥接
重性精神病管理系统有数据库
江西数字化城管软件开发电话
豫教思语网络安全答题技巧
云服务器内网会出问题吗
英雄联盟登陆聊天服务器
vue的服务器端渲染
数据库in语句怎么用
青岛管理系统软件开发哪家好
百度智能云存储数据库技术
穿越火线新出来的服务器
济宁网络安全科技公司
设置服务器地址启用ssl
大学生如何强化网络安全
网络安全性无法验证
apex服务器被黑客入侵了
杨浦区信息化软件开发技术指导
网站服务器管理 硬件
数据库相关的工作
中华人民共和国网络安全法治
通付盾 出席网络安全
网络安全宣传周班会报道
法院网络安全管理自查报告
军职在线网络技术
杭州鸿大网络技术