Как пропустить проверку столбца с условием, используя Django ORM - PullRequest
0 голосов
/ 05 апреля 2020

В Django ORM, как мы можем пропустить проверку столбца, если условие истинно? И как проверить этот столбец с указанным значением c, если условие ложно.

Например, как мы можем достичь следующего условия mysql с Django ORM?

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

Здесь необходимо, если для продукта display_stock is > 0, то мне все равно, что содержит значение в столбце hide. Если display_stock = 0, то мне нужно подтвердить hide = 0.

Любая справочная форма Django Эксперты ORM высоко ценятся. Спасибо.

1 Ответ

0 голосов
/ 05 апреля 2020

Отфильтруйте QuerySet, который вы возвращаете из 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...