Django Tastypie 过滤器或语句

Django Tastypie filter OR statement

假设我在 Django Tastypie API 中筛选产品,并且我想 return 所有具有 product_type = 'cracker' OR product_name = 'oreo' 的产品。使用此语法:

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

这将 return 饼干产品命名为奥利奥。我怎样才能把它变成 OR 语句?

找到答案了。根据此处的 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