Django对postgresql数据库进行分组聚合查询
2024-09-02 03:04:20
action(methods=['GET'], detail=False, url_path='count')
def count(self, request):
"""统计最近30天的抓拍记录""" starttime = request.query_params.get('starttime')
endtime = request.query_params.get('endtime')
days = datetime.timedelta(days=1) start_date = datetime.datetime.strptime(starttime, '%Y%m%d%H%M%S').date()
end_date = datetime.datetime.strptime(endtime, '%Y%m%d%H%M%S').date() count_list = {
'dates': {
'start_date': start_date,
'end_date': end_date
},
'result': []
} if end_date - start_date == days:
result_list = models.DevicePhotoModel.objects.filter(take_photo_time__range=(start_date, end_date))\
.extra(select={"take_photo_time": "to_char(take_photo_time, 'HH')"}).values('take_photo_time') \
.annotate(count=Count('take_photo_time')).values('take_photo_time', 'count')
# 统计当天的数据
else:
result_list = models.DevicePhotoModel.objects.filter(take_photo_time__range=(start_date, end_date)) \
.extra(select={"take_photo_time": "to_char(take_photo_time, 'yyyy-mm-dd')"}).values('take_photo_time') \
.annotate(count=Count('take_photo_time')).values('take_photo_time', 'count') for result in result_list:
count_list['result'].append({
'date': result['take_photo_time'],
'count': result['count']
}) return Response(count
mysql和postgres数据库格式化方法不同。网上找了很多格式化案例,但是都会报错。mysql中用DATE_FORMAT格式化,postgresql中用TO_CHAR格式化,格式化参数也有些许差别
最新文章
- 在Unity中使用TDD - 初探
- jQuery 学习之路(2):选择器与过滤器
- Java用native2ascii命令做unicode编码转换
- js代码优化
- devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用
- Binary Tree Preorder Traversal —— LeetCode
- c#中从string数组转换到int数组
- c语言统计字符数(判断a-z哪个字符出现次数最多)
- wake_lock_timeout的用法
- css优先级之特殊性
- 方伯伯的玉米田[SCOI2014]
- Microsoft SQL Server 2008 R2数据库备份 - 人工备份
- SpringBoot系列: 使用 Swagger 生成 API 文档
- Python OS模块常用
- Javascript高级编程学习笔记(67)—— 事件(11)HTML5事件
- 【转】vue父子组件之间的通信
- (转)喜马拉雅2018 Java面试题目
- Jenkins进阶-Slave 节点的配置(11)
- vbox 按照增强工具 centos7
- 将Excel表格保存为图片
热门文章
- Java中声明泛型方法
- 通过Redis的list来实现 Server - Client 的同步通信
- PAT 甲级 1040 Longest Symmetric String (25 分)(字符串最长对称字串,遍历)
- linux常用的命令和工具
- LeetCode_26. Remove Duplicates from Sorted Array
- .NET实体框架EF之CodeFirst
- C# using语句 中间出现exception后 using仍然会dispose
- centos7.5安装图形界面
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- jQuery BlockUI Plugin Demo 2