首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django每个用户的总金额

Django每个用户的总金额
EN

Stack Overflow用户
提问于 2021-08-12 18:00:44
回答 2查看 742关注 0票数 1

我正在创建一个预算应用程序,并希望找到每个已登录的用户的总和。现在我使用的是基于函数的视图,我用Post.objects.aggregate(sum = Sum('expense'))来总结开销,问题是它总结了数据库中的每个人,但我希望它只对当前登录的用户的开销进行汇总。在我的模型中,我有一个作者字段,但我不知道如何只为当前登录的用户进行求和。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-12 18:04:14

您可以这样做,以获得当前用户的开销

Post.objects.filter(author=request.user).aggregate(sum = Sum('expense')),这将返回当前登录用户的总和。

票数 0
EN

Stack Overflow用户

发布于 2021-08-12 18:07:38

您可以对每个用户的和进行注释,方法如下:

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

User.objects.annotate(total=Sum('post__expense'))

由此产生的User对象将包含相关posts的expenses之和。

对于已登录的用户,可以使用以下方法进行计算:

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

request.user.post_set.aggregate(total=Sum('expense'))['total'] or 0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68762265

复制
相关文章

相似问题

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