Запрос нескольких в одном поле Django - PullRequest
0 голосов
/ 12 февраля 2019
functionalities.filter(acl_controller='Employee')

Я хочу запросить модель функциональности, где acl_controller = 'Employee' и acl_controller = 'Manager' и acl_controller = 'Admin'.Я знаю, что могу использовать несколько фильтров -

functionalities.filter(acl_controller='Employee').filter(acl_controller='Manager').filter(acl_controller='Admin')

Но я хочу знать, есть ли лучший способ отфильтровать.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Вы можете использовать Q узел.См. этот документ

И фильтрация

functionalities.filter(
    Q(acl_controller='Employee') &
    Q(acl_controller='Manager') &
    Q(acl_controller='Admin')
)

ИЛИ фильтрация

functionalities.filter(
    Q(acl_controller='Employee') |
    Q(acl_controller='Manager') |
    Q(acl_controller='Admin')
)
0 голосов
/ 12 февраля 2019

Вы можете использовать это:

functionalities.filter(acl_controller__in=['Employee', 'Manager', 'Admin'])
...