Я работаю с моделью, подобной Статье, у которой есть DateTimeField (auto_now_add = True) для записи даты публикации (pub_date).Это выглядит примерно так:
class Article(models.Model):
text = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
Я хочу сделать запрос, который подсчитывает, сколько статей или записей было добавлено в день.Другими словами, я хочу запросить записи и сгруппировать их по дням (и, в конечном итоге, месяц, час, секунда и т. Д.).В оболочке SQLite это будет выглядеть примерно так:
select pub_date, count(id) from "myapp_article"
where id = 1
group by strftime("%d", pub_date)
;
, который возвращает что-то вроде:
2012-03-07 18:08:57.456761|5
2012-03-08 18:08:57.456761|9
2012-03-09 18:08:57.456761|1
Кажется, я не могу понять, как получить этот результат изДжанго QuerySet.Я знаю, как получить аналогичный результат, используя itertools.groupby , но это невозможно в этой ситуации (пояснение приведено ниже).
Конечный результат этого запроса будетиспользуется на графике, показывающем количество сообщений в день.Я пытаюсь использовать пакет Django Chartit для достижения этой цели.Chartit накладывает ограничение на источник данных (DataPool).Источником должен быть Model, Manager или QuerySet, поэтому, насколько я могу судить, использование itertools.groupby не вариант.
Так что вопрос ... Как группировать или объединятьзаписи по дням и заканчиваются объектом QuerySet?