Django ORM按小时分组,不包括分钟。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django ORM按小时分组,不包括分钟。相关的知识,希望对你有一定的参考价值。
你好,我想把一个django查询按小时分组,不包括分钟。
让我举个例子。
[...]
date_example = models.DateTimeField("My Example", blank=True, null=True)
quantity = models.IntegerField("Quantity", default=1)
[...]
在我的头上,这个例子应该工作。
ModelExample.objects.values("date_example__hour").annotate(total_quantity=Sum("quantity"))
但输出考虑到分钟和秒。
有没有一种方法可以按小时分组,不包括分钟和秒?
例如:这个组里面有7个小时(7:00,7:20,7:45)。
答案
你可以使用 ExtractHour
[Django-doc] 为此。
from django.db.models import Sum
from django.db.models import ExtractHour
ModelExample.objects.values(
hour=ExtractHour('date_example')
).annotate(
total_quantity=Sum('quantity')
).order_by('hour')
以上是关于Django ORM按小时分组,不包括分钟。的主要内容,如果未能解决你的问题,请参考以下文章