Получить статистику модели на основе времени в Джанго - PullRequest
0 голосов
/ 30 ноября 2018

Я знаю, что это не вопрос django, так сказать, но я работаю с моделями django и хотел бы иметь решение, специфичное для django

Предположим, у меня есть такая модель

class Foo(models.Model):
     type = models.IntegerField()
     timestamp = models.DateTimeField(auto_now_add=True)

Теперь, каков наилучший метод, получить количество всех объектов типа (скажем, 1), распределенных по дате / времени
Например: get_stat(type=1) дает мне информацию о том, сколько объектов (типа 1) было создано 12/10/2018, 13/10/2018, 14/10/2018 и т. Д. *

1 Ответ

0 голосов
/ 30 ноября 2018

Я думаю, вам нужно использовать group by.Смотрите этот ответ: Как сделать запрос как GROUP BY в django?

@classmethod
def get_stat(cls, type):
    return cls.objects.filter(type=type).values('timestamp').annotate(
        count=Count('id')
    ).values('timestamp', 'count')

Эта функция является примером в вашем случае.

...