django框架F&Q 聚合与分组操作示例


Posted in Python onDecember 12, 2019

本文实例讲述了django框架F&Q 聚合与分组操作。分享给大家供大家参考,具体如下:

F 使用查询条件的值,专门取对象中某列值的操作,可以对同一个表中的两个列进行比较

from django.db.models import F
ret=models.Book.objects.filter(count__lt=F('sale')).values() #查找 列 count < sale的数据
for i in ret:
  print(i)
models.Book.objects.filter(sale__gt=F('stock')) #将一个表中的sale和stock进行比较
models.Book.objects.update(sale=F('sale')*2) #将列sale的数据*2,数据自动提交到数据库 print(models.Book.objects.all().values())

Q 构建搜索条件

from django.db.models import Q
#找出满足两个条件的值
ret=models.Book.objects.filter(id__gte=3,title='学泡妞').values()
print(ret)
#使用Q 中的 | 是或的关系
ret=models.Book.objects.filter(Q(id__lt=2)| Q(id__gte=3)).values()
print(ret)
#使用 & 与的关系
ret=models.Book.objects.filter(Q(title='学泡妞') & Q(id__gte=3)).values()
print(ret)
# ~Q 是非的关系
ret=models.Book.objects.filter(~Q(Q(title='学泡妞') & Q(id__gte=3))).values()
print(ret)

聚合查询---关键字aggregate

#统计所有书的平均价格:聚合
  from django.db.models import Avg,Count,Max,Min
  ret=Book.objects.all().aggregate(c=Avg("price"))
  print(ret) #{'c': 114.66666666666667}

分组查询----关键字annotate

#查询每个出版社出版的书籍个数
  ret=Publish.objects.all().annotate(c=Count("book")).values("name","c")
  print(ret) #<QuerySet [{'name': '苹果出版社', 'c': 1}, {'name': '桔子出版社', 'c': 2}]>
  #查询每一个作者出版的书籍的平均价格
  ret=Author.objects.all().annotate(price_avg=Avg("book__price")).values("name","price_avg")
  print(ret)#<QuerySet [{'name': 'alex', 'price_avg': 116.5}, {'name': 'egon', 'price_avg': 114.66666666666667}, {'name': 'yuan', 'price_avg': 111.0}]>
  #查询每一本书籍名称以及作者个数
  ret=Book.objects.all().annotate(c=Count("author")).values("title","c")
  print(ret) #<QuerySet [{'title': '历险记', 'c': 2}, {'title': 'go', 'c': 2}, {'title': 'java', 'c': 2}]>
  #查询价格大于100的每一本书籍名称以及作者个数
  ret = Book.objects.filter(price__gt=100).annotate(c=Count("author")).values("title", "c")
  print(ret)

区别:查询所有书的平均价格用聚合,查询每本书的平均价格用分组

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python实现bitmap数据结构详解
Feb 17 Python
在Python中用keys()方法返回字典键的教程
May 21 Python
对numpy中轴与维度的理解
Apr 18 Python
python3 字符串知识点学习笔记
Feb 08 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
Python try except else使用详解
Jan 12 Python
Python 无限级分类树状结构生成算法的实现
Jan 21 Python
python re.match()用法相关示例
Jan 27 Python
pytorch--之halfTensor的使用详解
May 24 Python
Python包argparse模块常用方法
Jun 04 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
Dec 12 #Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
Dec 12 #Python
python3中pip3安装出错,找不到SSL的解决方式
Dec 12 #Python
python 使用opencv 把视频分割成图片示例
Dec 12 #Python
Python2与Python3的区别点整理
Dec 12 #Python
opencv3/C++实现视频背景去除建模(BSM)
Dec 11 #Python
opencv3/C++实现视频读取、视频写入
Dec 11 #Python
You might like
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
php设计模式 Command(命令模式)
2011/06/26 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
js点击事件的执行过程实例分析【冒泡与捕获】
2020/04/11 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
Python字符串和文件操作常用函数分析
2015/04/08 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
Python hmac模块使用实例解析
2019/12/24 Python
python游戏开发的五个案例分享
2020/03/09 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
应用心理学个人求职信范文
2013/12/11 职场文书
锦旗标语大全
2014/06/23 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
小学生成绩单评语
2014/12/31 职场文书
土地租赁协议书
2015/01/29 职场文书