Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以django为单位获取每小时的总和_Django_Filter_Django Rest Framework - Fatal编程技术网

以django为单位获取每小时的总和

以django为单位获取每小时的总和,django,filter,django-rest-framework,Django,Filter,Django Rest Framework,我有一个模型,它包含两个字段DateTimeField和一个IntegerField。 我想以小时为单位对总整数求和 class ModelA(models.Model): date_time = models.DateTimeField() relative_change = models.IntegerField() 现在我想查询modelA,这样它将返回每小时相对_变化的总和,好的方法是什么? 我检查了这个,但我不清楚那里的“小时”是什么。 输出应该如下所示 [ {

我有一个模型,它包含两个字段DateTimeField和一个IntegerField。 我想以小时为单位对总整数求和

class ModelA(models.Model):
    date_time = models.DateTimeField()
    relative_change = models.IntegerField()
现在我想查询modelA,这样它将返回每小时相对_变化的总和,好的方法是什么? 我检查了这个,但我不清楚那里的“小时”是什么。 输出应该如下所示

[
   {
    "time":"9-10",
    "relative_change":"20"
   },
   {
    "time":"10-11",
    "relative_change":"40"
   },
   {
    "time":"11-12",
    "relative_change":12
   }
]
这应该做到:

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,
}]
以下是有关“小时”查找的更多详细信息:

相对变化的计数或总和?是,相对变化的总和