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格式化,格式化参数也有些许差别

最新文章

  1. 在Unity中使用TDD - 初探
  2. jQuery 学习之路(2):选择器与过滤器
  3. Java用native2ascii命令做unicode编码转换
  4. js代码优化
  5. devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用
  6. Binary Tree Preorder Traversal —— LeetCode
  7. c#中从string数组转换到int数组
  8. c语言统计字符数(判断a-z哪个字符出现次数最多)
  9. wake_lock_timeout的用法
  10. css优先级之特殊性
  11. 方伯伯的玉米田[SCOI2014]
  12. Microsoft SQL Server 2008 R2数据库备份 - 人工备份
  13. SpringBoot系列: 使用 Swagger 生成 API 文档
  14. Python OS模块常用
  15. Javascript高级编程学习笔记(67)—— 事件(11)HTML5事件
  16. 【转】vue父子组件之间的通信
  17. (转)喜马拉雅2018 Java面试题目
  18. Jenkins进阶-Slave 节点的配置(11)
  19. vbox 按照增强工具 centos7
  20. 将Excel表格保存为图片

热门文章

  1. Java中声明泛型方法
  2. 通过Redis的list来实现 Server - Client 的同步通信
  3. PAT 甲级 1040 Longest Symmetric String (25 分)(字符串最长对称字串,遍历)
  4. linux常用的命令和工具
  5. LeetCode_26. Remove Duplicates from Sorted Array
  6. .NET实体框架EF之CodeFirst
  7. C# using语句 中间出现exception后 using仍然会dispose
  8. centos7.5安装图形界面
  9. Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
  10. jQuery BlockUI Plugin Demo 2