假设我要在Django Deliciousp API中过滤产品,并且我想返回所有带有product_type = 'cracker' OR product_name = 'oreo'
的产品。使用以下语法:
localhost:8000/api?product_type=cracker&product_name__icontains=oreo
这将返回饼干和名为奥利奥的产品。如何将其转换为OR语句?
答案 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