GET_MANY预处理器接受内置的search_params
字典,但GET_SINGLE只接受instance_id
。 kw**
arg传递给所有前处理器和后处理器,但是I've found that this is just for forwards compatibility,尽管在the Flask-Restless docs中有点不清楚:
预处理器和后处理器函数的参数将作为关键字参数提供,因此在定义预处理器或后处理器函数时,应始终添加** kw作为最终参数。这样,您只能在定义函数时指定所需的关键字参数。此外,如果新版本的Flask-Restless更改了API,您可以在不破坏代码的情况下更新Flask-Restless。
是否无法将instance_id
以外的参数传递给GET_SINGLE预处理器?
修改
也许有更好的方法来做我想做的事情:我有两个模型,Foo
和Bar
。 Foo
中的记录将Bar
中记录的外键存储为其列之一。我希望发送到Foo
的GET请求,该请求指定外键的值,以使用所请求值的外键从Foo
中的记录集返回单个准随机记录。
答案 0 :(得分:1)
正如@ 1.618指出的那样,我的特定用例更适合GET_MANY请求,即使我只期望一个项目作为响应。我仍然不确定我的初始问题的答案,但我的直觉是,不,没有办法将params传递给GET_SINGLE请求,就像在Flask中一样 - 不安定它们仅用于项目的场景被id查询。
我特定问题的解决方案是使用GET_MANY请求,这是我最初尝试但由于我错误地操纵search_params
参数并且围绕{{3}的混淆而无法开始工作}}