【发布时间】:2015-12-25 03:43:48
【问题描述】:
我正在使用 Python EVE、EVE-SQLAlchemy、Flask、Flask-SQLAlchemy、SQLAlchemy 和 Postgres 数据库。
我的 API 端点已全部设置完毕,而且它们开箱即用。
现在我正在尝试过滤 some_model 资源返回的项目,以便它只返回属于某个用户(执行 API 请求的用户)或具有特定名称(前缀)。执行此操作的 SQLAlcehmy 代码如下:
session.query(SomeModel).filter(or_(SomeModel.name.like('SOMETHING_%'), SomeModel.account_id==1)).all()
我查看了 pre 和 post 请求挂钩、用户限制资源访问以及我能找到的所有其他内容,但似乎没有任何地方描述如何将自定义过滤器应用于某个端点/资源的(所有)GET 请求。
有点像 URL 过滤器功能,但始终在数据库级别而不是序列化/响应级别进行过滤。
【问题讨论】:
标签: python sqlalchemy eve