我知道这不是django的问题,但我正在使用django模型,并希望有一个针对django的解决方案
假设我有一个这样的模型
class Foo(models.Model):
type = models.IntegerField()
timestamp = models.DateTimeField(auto_now_add=True)
现在最好的方法是对日期/时间上分布的所有类型(例如1)的对象进行计数
例如:get_stat(type=1)
为我提供了有关在12/10/2018
,13/10/2018
,14/10/2018
等上创建了多少个对象(类型1)的信息……
答案 0 :(得分:2)
我认为您需要使用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')
此功能就是您的例子。