Flask-Restless 过滤器不过滤结果

Posted

技术标签:

【中文标题】Flask-Restless 过滤器不过滤结果【英文标题】:Filter for Flask-Restless doesn't filter results 【发布时间】:2015-10-14 05:01:53 【问题描述】:

我正在尝试使用请求向 Flask-Restless 发送过滤器查询。结果不被过滤。如何正确编写过滤器?

import requests
import json
q = 'filters': ['task': 'build an API', 'task': 'profit']
r = requests.get('http://127.0.0.1:5000/toworks', params='q': json.dumps(q))

我希望结果只包含第一项和第三项,但第二项也存在。


    "towork1": 
        "task": "build an API"
    , 
    "towork2": 
        "task": "?????"
    , 
    "towork3": 
        "task": "profit!"
    

【问题讨论】:

【参考方案1】:

您用于过滤器的语法完全错误。应该有一个过滤器列表,每个过滤器都是一个带有nameopvalue 键的字典。由于您要在任务的值内搜索,请在您要过滤的值之前和之后使用带有通配符 (%) 的 like 操作。您还需要使用or,因为这两个过滤器是互斥的。

q = 'filters': ['or': [
    'name': 'task', 'op': 'like', 'val': '%build%',
    'name': 'task', 'op': 'like', 'val': '%profit%'
]]

【讨论】:

以上是关于Flask-Restless 过滤器不过滤结果的主要内容,如果未能解决你的问题,请参考以下文章

如何对 JSONB 内容运行 Flask-restless api 过滤器查询

具有用户解析和过滤的 Flask-restless 端点

Select2 Ajax 不根据查询过滤结果

Tablesorter过滤器插件+过滤器小部件:过滤/搜索当前未显示的结果

Drupal 视图 - 当视图没有结果时不显示任何公开的过滤器选项

在 Swift 3 中过滤 UICollectionview 上的结果不起作用?