首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在django中获取时基和

在django中获取时基和
EN

Stack Overflow用户
提问于 2019-12-08 13:58:56
回答 1查看 125关注 0票数 0

我有一个模型,它包含两个字段DateTimeFieldIntegerField。我想以小时为基础对整数总数进行求和。

代码语言:javascript
运行
复制
class ModelA(models.Model):
    date_time = models.DateTimeField()
    relative_change = models.IntegerField()

现在我想查询modelA,这样它就可以返回每个小时的relative_change总数,那么有什么好方法呢?我检查了这个stackoverflow question,但我不清楚那里的“时间”是什么。输出应该如下所示

代码语言:javascript
运行
复制
[
   {
    "time":"9-10",
    "relative_change":"20"
   },
   {
    "time":"10-11",
    "relative_change":"40"
   },
   {
    "time":"11-12",
    "relative_change":12
   }
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-08 15:41:47

这应该可以做到:

代码语言:javascript
运行
复制
from django.db.models import Sum

queryset = (
    ModelA
    .objects
    .values('date_time__hour')
    .annotate(relative_change_sum=Sum('relative_change')
)

您应该期望得到以下结果:

代码语言:javascript
运行
复制
<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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59236113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档