如何使用Django ORM跳过带有条件的列检查

问题描述 投票:0回答:1

在Django ORM中,如果条件为真,我们如何跳过对列的检查?以及如果条件为假,如何使用特定值检查该列。

例如,如何使用Django ORM实现以下mysql条件?

IF(product.display_stock > 0,'0',product.hide) = 0 

这里需要的是,如果乘积是display_stock is > 0,那么我不在乎hide列的值是什么。如果为display_stock = 0,则需要确认hide = 0

非常感谢Django ORM专家提供的任何帮助。谢谢。

django django-orm
1个回答
0
投票

尝试过滤从ORM返回的查询集。

https://docs.djangoproject.com/en/3.0/ref/models/querysets/

Product.objects.extra(select={'in_stock': "display_stock > 0"}).all()

Product.objects.filter(display_stock=0).all()
© www.soinside.com 2019 - 2024. All rights reserved.