我有一个带有很多注解的查询集,我有两个字段:price
price_after_discount
现在我想写一个基于value
的max_filter。但是我需要这样做,如果price_after_discount
不为0,那么就对它进行过滤,如果它为0,那么就根据price
进行过滤。
我知道这段代码不起作用,只是你可以更好地理解这个问题:
value = 200
queryset.filter(
Case(
When(
price_after_static_discount=0,
then=F("price")
),
default=F("price_after_discount")
)__lt=value
)
1条答案
按热度按时间rsaldnfx1#
使用**
.alias(…)
[Django-doc]作为表达式,然后在别名上使用.filter(…)
**[Django-doc]: