我有一個(gè)拍攝的照片模型。我正在使用Javascript構(gòu)建最近7天何時(shí)拍攝照片的熱圖。我每小時(shí)顯示一次。我的照片模型有一個(gè)時(shí)間戳記DateTime字段。我將如何制作這樣一個(gè)列表,顯示過去一周每天每小時(shí)的總照片?JavaScript需要這樣的數(shù)組:const heatmapDataSource = [ [0, 0, 3], [6, 23, 3], ....];heatmapDataSource [0] [0]是星期幾(今天(星期二)0,上周星期三(6)-今天始終是0)heatmapDataSource [0] [1]是小時(shí)(0 == 24:00和23 == 23:00等)heatmapDataSource [0] [2]是該小時(shí)的計(jì)數(shù)值希望這是有道理的!到目前為止,我已經(jīng)將它們放在一起作為開始計(jì)數(shù): 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這就是我?guī)缀跻纳嘲l(fā)。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'))
過去一周每小時(shí)的計(jì)數(shù)
哆啦的時(shí)光機(jī)
2021-05-19 17:14:12