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正则匹配抓取豆瓣电影链接和评论代码分享
Dec 27 Python
在Python中使用sort()方法进行排序的简单教程
May 21 Python
[原创]使用豆瓣提供的国内pypi源
Jul 02 Python
Python获取当前页面内所有链接的四种方法对比分析
Aug 19 Python
用python写一个定时提醒程序的实现代码
Jul 22 Python
python同步两个文件夹下的内容
Aug 29 Python
Python CSV文件模块的使用案例分析
Dec 21 Python
Django实现后台上传并显示图片功能
May 29 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
PyQt实现计数器的方法示例
Jan 18 Python
Python实现科学占卜 让视频自动打码
Apr 09 Python
python小型的音频操作库mp3Play
Apr 24 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
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
javascript整除实现代码
2010/11/23 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
python实现在windows下操作word的方法
2015/04/28 Python
python机器学习之神经网络实现
2018/10/13 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
关于django python manage.py startapp 应用名出错异常原因解析
2020/12/15 Python
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
农村结婚典礼司仪主持词
2014/03/14 职场文书
汇源肾宝广告词
2014/03/20 职场文书
个人借款担保书
2014/04/02 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书