使用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如何批量修改数据库执行Sql文件
Jul 29 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
python面试题小结附答案实例代码
Apr 11 Python
python创建学生成绩管理系统
Nov 22 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
Dec 10 Python
django框架基于queryset和双下划线的跨表查询操作详解
Dec 11 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 Python
python实现简单井字棋游戏
Mar 04 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
python openpyxl模块的使用详解
Feb 25 Python
聊一聊python常用的编程模块
May 14 Python
Python+DeOldify实现老照片上色功能
Jun 21 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
php 远程图片保存到本地的函数类
2008/12/08 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
详解YII关联查询
2016/01/10 PHP
laravel自定义分页效果
2017/07/23 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
python概率计算器实例分析
2015/03/25 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
Django中的ajax请求
2018/10/19 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
Python @property及getter setter原理详解
2020/03/31 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
python Xpath语法的使用
2020/11/26 Python
python os.listdir()乱码解决方案
2021/01/31 Python
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
销售代表求职自荐信
2013/10/01 职场文书
cf收人广告词大全
2014/03/14 职场文书
环境保护标语
2014/06/20 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
2015教师年度考核评语
2015/03/25 职场文书