python - Django 注释条件

标签 python django conditional-statements annotate

我想要一个用户列表,其中包含他们每个人的费用总额。我只想在应付金额中包括费用。这将返回所有费用的总和,不会过滤掉尚未到期的费用。

user_array = User.objects.all().annotate(
   total_sum=Sum('charge__amount', only=Q(charge__due_date__lte=date))
)

最佳答案

尝试

user_array = User.objects.filter(charge__due_date__lte=date).annotate(amount_due=Sum('charge__amount'))

https://docs.djangoproject.com/en/1.8/topics/db/aggregation/#order-of-annotate-and-filter-clauses 启发.文档声称只有过滤后的关系值才会被注释。

关于python - Django 注释条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31713152/

相关文章:

python - 为 web2py 应用程序安装 Python 模块

python - 在django中首先按降序排列空值

django - 如何将变量传递到 django 中包含的模板中

Django 仅在 CREATE 对象管理页面中隐藏字段

c - 我应该减少设置变量吗

r - 如何处理包含 NA 的条件 data.frame 下标?

python - 如何根据二级标准从多索引 pandas.Series 对象中提取?

python - 从 django rest 框架中使用 api

python - Selenium 下拉菜单

jquery - 在 IF 语句中包含两个条件