Джанго Аннотат Условный
Я хочу список пользователей с общей суммой расходов, которые у них есть. Я только хочу включить сборы в причитающуюся сумму. Это возвращает сумму всех платежей, это не отфильтровывает обвинения, которые еще не подлежат оплате.
user_array = User.objects.all().annotate(
total_sum=Sum('charge__amount', only=Q(charge__due_date__lte=date))
)
1 ответ
Решение
Пытаться
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/. Документы утверждают, что только отфильтрованные значения отношений будут аннотированы.