python - 在 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/2018
13/10/2018
14/10/2018
解决方案
我认为你需要使用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')
此功能是您的示例。
推荐阅读
- google-sheets - 通过 ODBC 驱动程序连接 Power BI 的 BigQuery
- javascript - 如何在 javascript 中获取两个 api?
- c# - 从招摇响应中排除 ef 虚拟属性
- vb.net - 是否可以执行`Await Task.Run(Sub() SomeDatabaseUpdate() EndSub)
- java - 打印对象的arrayList
- c - 为什么 MAP_GROWSDOWN 映射不增长?
- ios - 如何在 ARKit 中将 3D 对象放置在垂直平面中?
- docker - 在不同的节点上运行两个 Kubernetes pod
- powershell - 如何从 Outlook 中阅读最新的未读电子邮件,直到我已阅读邮件
- kubernetes - 你如何运行`kubectl -f apply
` 来自使用 Cloud Composer 中的 bash 运算符的 DAG?