【发布时间】:2015-06-11 06:54:56
【问题描述】:
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 中记录的外键存储为其列之一。我想要一个 GET 请求发送到 Foo,它指定一个外键值,以从 Foo 中的记录集中返回一条准随机记录,并带有请求值的外键。
【问题讨论】:
-
需要传递哪些参数?
-
刚刚用解释更新了我最初的问题。
-
这听起来像是一个搜索查询,这意味着将使用 GET_MANY 预处理器,即使您只期望一个结果。你能发布一些你的实际代码,以及你期望请求的样子吗?
-
我之前使用的是 GET_MANY,但没有按预期工作。我刚刚发现这是因为我对weird Python way in which arguments (e.g.
search_params) are passed 感到困惑。
标签: python flask flask-restless