我有一个模型,它有一个DateTimeField时间戳。什么是最好的方法来查看每天(月,小时等)的条目数,只是使用Django ORM(而不是原始SQL)?
DateTimeField
nuypyhwy1#
您可以使用Count获取总行数。仅限年份:
Count
from django.db.models import Count MyModel.objects.all().values("timestamp__year").annotate( count=Count("timestamp") ).order_by("timestamp__year")
同一日期:
MyModel.objects.all().values("timestamp__date").annotate( count=Count("timestamp") ).order_by("timestamp__date")
同一个小时:
MyModel.objects.all().values("timestamp__hour").annotate( count=Count("timestamp") ).order_by("timestamp__hour")
最后一个显然不关心日期或年份。但是你的描述非常模糊。无论如何,这给了你一个很好的概述。
7d7tgy0s2#
这个怎么样?
result_qs = MyModel.objects.all().annotate( date=TruncDay('created_at') ).values("date").annotate( created_count=Count('id') ).order_by("-date") for instance in result_qs: instance.get('date') instance.get('created_count')
2条答案
按热度按时间nuypyhwy1#
您可以使用
Count
获取总行数。仅限年份:同一日期:
同一个小时:
最后一个显然不关心日期或年份。但是你的描述非常模糊。无论如何,这给了你一个很好的概述。
7d7tgy0s2#
这个怎么样?