Django 注释条件
Django Annotate Conditional
我想要一个用户列表,其中包含每个用户的费用总额。我只想在应付金额中包括费用。这是返回所有费用的总和,它没有过滤掉尚未到期的费用。
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 的激励。文档声称只有过滤后的关系值才会被注释。
我想要一个用户列表,其中包含每个用户的费用总额。我只想在应付金额中包括费用。这是返回所有费用的总和,它没有过滤掉尚未到期的费用。
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 的激励。文档声称只有过滤后的关系值才会被注释。