Используя 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'))