使用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 正则式使用心得
May 07 Python
python实现颜色rgb和hex相互转换的函数
Mar 19 Python
python中zip()方法应用实例分析
Apr 16 Python
Python中标准库OS的常用方法总结大全
Jul 19 Python
Python通过命令开启http.server服务器的方法
Nov 04 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
Python之循环结构
Jan 15 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
Mar 10 Python
Python下划线5种含义代码实例解析
Jul 10 Python
Python机器学习之底层实现KNN
Jun 20 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
改变Apache端口等配置修改方法
2008/06/05 PHP
codeigniter框架批量插入数据
2014/01/09 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
php和asp语法上的区别总结
2019/05/12 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
微信小程序组件传值图示过程详解
2019/07/31 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
Python学习之asyncore模块用法实例教程
2014/09/29 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
安装PyInstaller失败问题解决
2019/12/14 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
申报优秀教师材料
2014/12/16 职场文书
营销计划书范文
2015/01/17 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
安全生产标语口号
2015/12/26 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js