这是我的模特:
Seller (user, name)
Order (seller, customer, amount)
Bonus (seller, required_amount, value)
我需要为每位卖家注释一些当前的客户统计信息(客户订单的金额总和最大奖励价值,其中required_amount少于总客户金额)
Sellers.objects.filter(orders__customer=request.user).annotate(
customer_amount=models.Sum(
'orders__amount',
filter=models.Q(orders__customer=request.user)
),
bonus_value=models.Max(
'bonuses__value',
filter=models.Q(bonuses__required_amount__lte=models.F('customer_amount'))
)
)
我有一个错误
aggregate functions are not allowed in FILTER
LINE 1: ...ue") FILTER (WHERE "sellers_bonuses"."required_amount" <= SUM("order...
但是我不需要汇总,对于所有卖方,我已经有一个汇总值“ customer_amount”。我该怎么用?