为了账号安全,请及时绑定邮箱和手机立即绑定

过去一周每小时的计数

过去一周每小时的计数

哆啦的时光机 2021-05-19 17:14:12
我有一个拍摄的照片模型。我正在使用Javascript构建最近7天何时拍摄照片的热图。我每小时显示一次。我的照片模型有一个时间戳记DateTime字段。我将如何制作这样一个列表,显示过去一周每天每小时的总照片?JavaScript需要这样的数组:const heatmapDataSource = [  [0, 0, 3],  [6, 23, 3],  ....];heatmapDataSource [0] [0]是星期几(今天(星期二)0,上周星期三(6)-今天始终是0)heatmapDataSource [0] [1]是小时(0 == 24:00和23 == 23:00等)heatmapDataSource [0] [2]是该小时的计数值希望这是有道理的!到目前为止,我已经将它们放在一起作为开始计数:    Photo.objects.annotate(    hour=Trunc('timestamp', 'hour', output_field=DateTimeField())).values('timestamp__hour', 'timestamp__day').annotate(photos=Count('id'))输出:<QuerySet [{'timestamp__hour': 10, 'timestamp__day': 10, 'photos': 8}, {'timestamp__hour': 12, 'timestamp__day': 13, 'photos': 1}]>照片模型:class Photo(models.Model):    camera = models.ForeignKey(Camera, null=True, on_delete=models.PROTECT)    image = models.ImageField()    timestamp = models.DateTimeField(auto_now=True)UDPATE这就是我几乎要坐的沙发。import datetime as DTtoday = DT.date.today()week_ago = today - DT.timedelta(days=7)from django.db.models.functions import ExtractWeekDayPhoto.objects.filter(timestamp__gte=week_ago).annotate(weekday=ExtractWeekDay('timestamp')).annotate(hour=Trunc('timestamp', 'hour', output_field=DateTimeField())).values('timestamp__hour', 'weekday').annotate(photos=Count('id'))
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号