首页 > 解决方案 > 在 django 中获取基于时间的模型统计信息

问题描述

我知道这不是一个 django 问题,但我正在使用 django 模型并希望有一个特定于 django 的解决方案

假设我有这样的模型

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

现在最好的方法是计算所有类型的对象(比如 1)分布在日期/时间
例如:给我关于在、 on 等上创建get_stat(type=1)了多少对象(类型 1)的信息......12/10/201813/10/201814/10/2018

标签: pythondjangodatetimemodelstatistics

解决方案


我认为你需要使用group by. 看到这个答案:How to query as GROUP BY in django?

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

此功能是您的示例。


推荐阅读