使用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实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
python操作mysql代码总结
Jun 01 Python
Python列表解析配合if else的方法
Jun 23 Python
python语音识别实践之百度语音API
Aug 30 Python
Python2和Python3中urllib库中urlencode的使用注意事项
Nov 26 Python
python3安装speech语音模块的方法
Dec 24 Python
详解js文件通过python访问数据库方法
Mar 03 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 Python
如何在python中写hive脚本
Nov 08 Python
pytorch查看模型weight与grad方式
Jun 24 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 has encountered an Access Violation
2007/01/15 PHP
php中设置多级目录session的问题
2011/08/08 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python程序语言快速上手教程
2012/07/18 Python
Python探索之pLSA实现代码
2017/10/25 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
如何用python写个模板引擎
2021/01/14 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
Linux开机引导的步骤是什么
2014/02/26 面试题
葬礼司仪主持词
2014/03/31 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
就业推荐表院系意见
2015/06/05 职场文书
小人国观后感
2015/06/11 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技