在django中获取基于时间的模型统计信息



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

假设我有一个像这样的模型

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

现在,什么是最好的方法来统计日期/时间上所有类型(比如1(的对象
例如:get_stat(type=1)向我提供了在12/10/201813/10/201814/10/2018等上创建了多少对象(类型1(的信息…

我认为您需要使用group by。请参阅以下答案:如何在django中查询为GROUP BY?

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

这个函数就是您的例子。

最新更新