我有一个模型,它包含两个字段DateTimeField和IntegerField。我想以小时为基础对整数总数进行求和。
class ModelA(models.Model):
date_time = models.DateTimeField()
relative_change = models.IntegerField()
现在我想查询modelA,这样它就可以返回每个小时的relative_change总数,那么有什么好方法呢?我检查了这个stackoverflow question,但我不清楚那里的“时间”是什么。输出应该如下所示
[
{
"time":"9-10",
"relative_change":"20"
},
{
"time":"10-11",
"relative_change":"40"
},
{
"time":"11-12",
"relative_change":12
}
]
发布于 2019-12-08 15:41:47
这应该可以做到:
from django.db.models import Sum
queryset = (
ModelA
.objects
.values('date_time__hour')
.annotate(relative_change_sum=Sum('relative_change')
)
您应该期望得到以下结果:
<QuerySet [{
'date_time__hour': 9,
'relative_change_sum': 20,
}, {
'date_time__hour': 10,
'relative_change_sum': 40,
}]
以下是有关“小时”查找的更多详细信息:https://docs.djangoproject.com/en/2.2/ref/models/querysets/#hour
https://stackoverflow.com/questions/59236113
复制相似问题