繁体   English   中英

从字符串构建sqlalchemy查询

[英]Build sqlalchemy query from string

如何将sql where子句字符串转换为sqlalchemy查询? 我假设我已经知道桌子了。

我正在构建一个Angular Webapp,该应用命中了Flask API的数据。 Flask正在使用sqlalchemy查询数据库。 来自SQL的jQuery-QueryBuilder( http://querybuilder.js.org/plugins.html#import-export )将过滤器导出为原始SQL,我想将其传递回api,解析和查询。

例如:

where_str = "name LIKE '%BOB%' AND fruit != 'pineapple'"

将转换为:

session.query(Table).filter(Table.name.like('%BOB%')).filter(Table.fruit != 'pineapple)

标记火焰是因为我可能需要odo。

您可以尝试执行session.query(Table).filter(where_str) 它适用于SQLAlchemy v0.5.8。 您还可以构建整个SQL语句字符串,并使用Connection.execute()方法执行它。 无论哪种方式,将SQL语句作为字符串直接从网页传递到应用程序都是非常危险的

您无需过滤两次即可添加AND,您可以执行以下操作:

session.query(Table).filter(Table.name.like('%BOB%'), Table.fruit != 'pineapple)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM