Django Deliciouspie过滤器OR语句

时间:2018-09-03 19:22:21

标签: django tastypie

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

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

这将返回饼干和名为奥利奥的产品。如何将其转换为OR语句?

1 个答案:

答案 0 :(得分: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