2014-11-06 2 views
1

В моей таблице есть поле datetimefield, и я пытаюсь найти счет для всех записей, сгруппированных по дням. Так скажите, что у меня есть 3 записи 1 июня, 2 июня 2, 10 3 июня и т. Д.Peewee получает количество записей в день

Затем я получаю счет за это. Я понимаю, что можно проходить через все дни с 1-го дня по сегодняшний день, но это выглядит ... откровенно, плохо. Поэтому я смотрю, можно ли это сделать без повторения нескольких раз.

ответ

0

Предполагая, SQLite или Postgres, я считаю, что должно работать:

(Entry 
.select(
    fn.date_trunc('day', Entry.timestamp).alias('day'), 
    fn.count(Entry.id).alias('count')) 
.group_by(fn.date_trunc('day', Entry.timestamp))) 
+0

могли бы вы уточнить, где п приходит форма? А также, почему мы подсчитываем по id? –

+0

'fn' является помощником peewee.' Из peewee import fn', он предоставляет Pythonic API для вызова функций SQL. Вы считаете идентификатор, потому что это указывает, сколько записей существовало для данный день. – coleifer

Смежные вопросы