【发布时间】:2012-04-14 14:05:30
【问题描述】:
您好,我正在编写一个 Django 视图,该视图输出数据以在客户端进行绘图(高图表)。数据是具有给定参数的气候数据,每天记录一次。
我的查询是这样的:
format = '%Y-%m-%d'
sd = datetime.datetime.strptime(startdate, format)
ed = datetime.datetime.strptime(enddate, format)
data = Climate.objects.filter(recorded_on__range = (sd, ed)).order_by('recorded_on')
现在,随着范围的增加,数据集显然变大了,这在图表上表现不佳(除了大大减慢速度)。
有没有办法将我的数据分组为时间段的平均值 - 特别是每个月的平均值或每年的平均值?
我意识到这可以在 SQL 中完成,如下所述:django aggregation to lower resolution using grouping by a date range
但我想知道 Django 本身是否有方便的方法。
或者直接修改数据库并使用脚本从时间戳填充月份和年份字段是否更好?
非常感谢任何帮助。
【问题讨论】:
标签: django datetime django-queryset