Django Tastypie фильтр ИЛИ заявление - PullRequest
0 голосов
/ 03 сентября 2018

Предположим, я фильтрую продукты в Django Tastypie API и хочу вернуть все продукты с product_type = 'cracker' OR product_name = 'oreo'. Используя этот синтаксис:

localhost:8000/api?product_type=cracker&product_name__icontains=oreo

Это вернет продукты, которые являются крекерами И называются oreo. Как я могу превратить это в оператор ИЛИ?

1 Ответ

0 голосов
/ 03 сентября 2018

Нашел ответ. В соответствии с запросной документацией Django здесь: https://docs.djangoproject.com/en/2.1/topics/db/queries/#complex-lookups-with-q-objects

сложные запросы (такие как операторы OR) могут выполняться только с объектом Q (). Tastypie не имеет специального синтаксиса для обработки сложных запросов в URL, но вы можете создавать собственные запросы в ресурсах, как в этом ответе:

Django Tastypie Advanced Filtering: как выполнять сложный поиск с объектами Q

...