【发布时间】:2010-11-29 03:54:30
【问题描述】:
使用 Django,我想通过从每天包含多个条目的表中聚合来生成包含一些每日统计信息的查询集。这是表格
CREATE TABLE weather
(
id serial NOT NULL,
air_temp double precision NOT NULL,
obs_date date,
....
)
这是我想在查询集中得到的结果的 SQL 等价物
select obs_date, avg(air_temp) from weather group by obs_date order by obs_date
Django 模型如下所示
class WeatherData(models.Model):
obs_date = models.DateField('Obs Date', blank=False, null=False, db_index=True)
air_temp = models.FloatField('Air Temp', blank=False, null=False)
...
我已阅读此http://docs.djangoproject.com/en/dev/topics/db/aggregation/,但不知道该怎么做。建议表示赞赏。
更新:这可行:
WeatherData.objects.values('obs_date').annotate( max_air=Max('air_temp'), min_air=Min('air_temp'))
【问题讨论】: