如何在Django中使用带过滤器的多重注释?

2024-06-14 20:24:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用下面的代码来获得结果,但总是得到相同的输出为总交易和总优惠券。我不知道代码里发生了什么。在

total_coupons = Count('coupon', filter=Q(coupon__is_sale__lte=0))
total_deals = Count('coupon', filter=Q(coupon__is_sale__gt=0))

queryset = coupon.objects.values('store_id','store_name','store_site','affiliate_url').annotate(total_deals=total_deals, total_coupons=total_coupons)

那么怎样才能写出一个查询,这样它就能给我下面的结果呢?在

^{pr2}$

有没有什么办法可以达到以上的产量?在


Tags: store代码gtiscount交易salefilter
1条回答
网友
1楼 · 发布于 2024-06-14 20:24:06

你可以试试这个,annotate(total_deals=total_deals).annotate(total_coupons=total_coupons)不是.annotate(total_deals=total_deals, total_coupons=total_coupons)

queryset = coupon.objects.values('store_id','store_name','store_site','affiliate_url').annotate(total_deals=total_deals).annotate(total_coupons=total_coupons)

相关问题 更多 >