python - 从原始 SQL 字符串查询创建 SQLAlchemy 反向查询
问题描述
在 python SQLAlchemy 中,我们可以使用以下代码从 SQLAlchemy 查询对象创建原始字符串查询:
str(query.compile(compile_kwargs={"literal_binds": True}))
但我想做一个反向操作。我有一个原始字符串 SQL 查询(从上面的代码生成),并希望将其转换回原始 SQLAlchemy 查询对象,我实际上将其转换为字符串。
我尝试了以下代码:
db.session.query().from_statement(db.text(query_str))
但我无法在生成的 SQLAlchemy 查询对象中找到列。我不能在query(...)中提及任何列/模型,因为查询是完全动态的,而不像它从内部查询中获取数据并且有很多连接那样简单。
因此,实际的 SQLAlchemy 查询对象如下所示,我们可以在其中看到所有列和其他查询部分:
但下面是我们从原始 SQL 字符串中获得的 SQLAlchemy 查询对象:
参考:
解决方案
推荐阅读
- regex - 如何在字符串末尾提取非数字字符和数字字符?
- javascript - 试图在 html 日期选择器中获取当前月份的第一个日期
- apache-kafka - Kafka 启动失败,出现数字格式异常
- r - ## grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, 中的警告:
- ramda.js - Ramda:如何使用带有两个参数的 R.map?
- gatsby-image - 内嵌图像 MDX Gatsby
- jquery - Why is my bootstrap carousel not working in angular?
- javascript - 为什么 addEventListener 属性不起作用
- python - 在 PythonAnywhere 中分发 DjangoProject 时出错 - ModuleNotFoundError: No module named 'mysite'
- asp.net-core - 是否可以从 AWS 无服务器 API 中的其他 lambda 函数调用 lambda 函数?