使用django的ORM框架按月统计近一年内的数据方法


Posted in Python onJuly 18, 2019

如下所示:

# 计算时间
time = datetime.datetime.now() - relativedelta(years=1)
# 获取近一年数据
one_year_data = Data.objects.filter(create_time__gte=time_ago)
# 分组统计每个月的数据
count_res = one_year_data\
			.annotate(year=ExtractYear('create_time'),month=ExtractMonth('create_time'))\
      .values('year', 'month').order_by('year', 'month').annotate(count=Count('id'))
print(count_res)

打印结果:

<QuerySet [{'year': 2018, 'month': 7, 'count': 3}, {'year': 2019, 'month': 5, 'count': 7}, {'year': 2019, 'month': 6, 'count': 161}]>

annotate()方法:

对数据集先进行分组然后再进行某些聚合操作或排序时,需要使用annotate方法来实现。与aggregate方法不同的是,annotate方法返回结果的不仅仅是含有统计结果的一个字典,而是包含有新增统计字段的查询集(queryset)。

以上这篇使用django的ORM框架按月统计近一年内的数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python进阶教程之文本文件的读取和写入
Aug 29 Python
Python实现求数列和的方法示例
Jan 12 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
Nov 07 Python
python 实现读取一个excel多个sheet表并合并的方法
Feb 12 Python
python 实现PIL模块在图片画线写字
May 16 Python
使用pandas库对csv文件进行筛选保存
May 25 Python
python 如何快速复制序列
Sep 07 Python
Python基于unittest实现测试用例执行
Nov 25 Python
python利用pytesseract 实现本地识别图片文字
Dec 14 Python
python SOCKET编程基础入门
Feb 27 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 16 Python
Django框架之登录后自定义跳转页面的实现方法
Jul 18 #Python
django页面跳转问题及注意事项
Jul 18 #Python
django框架模板语言使用方法详解
Jul 18 #Python
Django中间件基础用法详解
Jul 18 #Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 #Python
Django 实现图片上传和显示过程详解
Jul 18 #Python
Django框架模型简单介绍与使用分析
Jul 18 #Python
You might like
在PWS上安装PHP4.0正式版
2006/10/09 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
js判断变量是否空值的代码
2008/10/26 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python删除不需要的python文件方法
2018/04/24 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
科茨沃尔德家居商店:Scotts of Stow
2018/06/29 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
市场营销管理制度
2014/01/29 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
幽灵公主观后感
2015/06/09 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server