![](/img/trans.png)
[英]SQLAlchemy (ORM, declarative): How to build query from key/values in a dict?
[英]Build full query from SQLAlchemy orm
最终,我尝试使用 pandas read_sql 接受原始 SQL 查询。
我正在尝试转换类似的东西;
sql = str(session.query(Post).filter(Post.user_id=1))
这会产生类似的东西
select * from Post where user_id = %(user_id_1)
有没有办法用已经插入的参数生成该查询?
如您所见,如果我们str()
一个 ORM 查询,我们将得到 SQL 命令文本,其中参数占位符使用我们方言的 paramstyle:
qry = session.query(Parent).filter(Parent.id == 1)
sql = str(qry)
print(sql)
"""console output:
SELECT parent.id AS parent_id, parent.lastname AS parent_lastname, parent.firstname AS parent_firstname
FROM parent
WHERE parent.id = %(id_1)s
"""
如果我们想在 SQL 语句中嵌入参数值,那么我们需要.compile()
它:
sql_literal = qry.statement.compile(
compile_kwargs={"literal_binds": True},
)
print(sql_literal)
"""console output:
SELECT parent.id, parent.lastname, parent.firstname
FROM parent
WHERE parent.id = 1
"""
(关于 SQL 注入的标准免责声明适用。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.