Django 包含零的总和

标签 django django-aggregation

我正在开发一个 Django 时间表应用程序,但在弄清楚如何包含等于零的总和时遇到了麻烦。如果我做这样的事情:

entries = TimeEntry.objects.all().values("user__username").annotate(Sum("hours"))

我得到所有有时间条目及其总和的用户。
[{'username': u'bob' 'hours__sum':49}, {'username': u'jane' 'hours__sum':10}]

当我按特定日期过滤时:
filtered_entries = entries.filter(date="2010-05-17")

任何没有输入当天时间的人都被排除在外。有没有办法包括那些总和为 0 的用户?

谢谢

最佳答案

也许您可以反过来尝试这种关系 - 从用户开始,并链接到条目:

User.objects.all().values("username").annotate(Sum("timeentry__hours"))

那样有用吗?

关于Django 包含零的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866360/

相关文章:

python - 当我进行聚合查询时,Django 模型管理器无法处理相关对象

Django 1.11 注释子查询聚合

django - 按相关模型子集的最新实例对 Django 查询集进行排序

python - Django 报告生成器 TEMPLATE_CONTEXT_PROCESSORS 和 Django 1.8

python - Django 管理中的精确字段搜索

python - 加密数据库字段的好方法?

python - Django 应用程序 - 将用户名和密码存储在 mysql 数据库或 openldap 中?

python - 在 Django 查询中使用 .extra(select={...}) 引入的值上使用 .aggregate()?

Django 查询集获取每个唯一属性值的最新值

mysql - 将 sql 转换为 Django ORM