Django Tastypie过滤器OR语句

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

假设我在Django Tastypie API中过滤产品,我想用product_type = 'cracker' OR product_name = 'oreo'返回所有产品。使用以下语法:

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

这将返回作为破解者的产品并命名为oreo。如何将其转换为OR语句?

django tastypie
1个回答
0
投票

找到了答案。根据Django查询文档:https://docs.djangoproject.com/en/2.1/topics/db/queries/#complex-lookups-with-q-objects

复杂查询(如OR语句)只能使用Q()对象完成。 Tastypie没有特殊的语法来处理URL中的复杂查询,但您可以在资源中构建自定义查询,如下面的答案所示:

Django Tastypie Advanced Filtering: How to do complex lookups with Q objects

© www.soinside.com 2019 - 2024. All rights reserved.