SELECT COUNT(*) cnt, to_timestamp(floor((extract('epoch' from timestamp_column) / 600 )) * 600) AT TIME ZONE 'UTC' as interval_alias FROM TABLE_NAME GROUP BY interval_alias
Вот тут вроде как интересный ответ, не пробовал? Сначала фильтруешь по дате, потом извлекаешь extra по date_part hour и далее группируешь и суммируешь?
data = TankData.objects.filter(**query).order_by('record_time').annotate( date=TruncDate('record_time'), hour=TruncHour('record_time', tzinfo=melb) ) я получаю дату и время а как их обьденить в одно значение
data = TankData.objects.filter(**query).order_by('record_time').annotate( date=TruncDate('record_time'), hour=TruncHour('record_time', tzinfo=melb) ) я получаю дату и время а как их обьденить в одно значение