相关疑难解决方法(0)

如何从SQLAlchemy表达式获取原始的,已编译的SQL查询?

我有一个SQLAlchemy查询对象,想要获取已编译的SQL语句的文本,并绑定其所有参数(例如,没有%s或其他变量等待语句编译器或MySQLdb方言引擎等绑定).

调用str()查询会显示如下内容:

SELECT id WHERE date_added <= %s AND date_added >= %s ORDER BY count DESC
Run Code Online (Sandbox Code Playgroud)

我试过查询query._params,但它是一个空的字典.我使用这个sqlalchemy.ext.compiler.compiles装饰器的例子编写了我自己的编译器,但即使是那里的语句仍然有%s我想要的数据.

我无法弄清楚何时混入我的参数来创建查询; 在检查查询对象时,它们总是一个空字典(尽管查询执行正常,引擎在打开echo日志时将其打印出来).

我开始得到SQLAlchemy不希望我知道底层查询的消息,因为它打破了表达式API接口所有不同DB-API的一般性质.我不介意在我发现它之前是否执行了查询; 我只是想知道!

python mysql sql sqlalchemy

87
推荐指数
8
解决办法
6万
查看次数

SQLAlchemy从create()打印原始SQL

我正在尝试使用SQLAlchemy进行Pylons,我喜欢它,只有一件事,是否可以在执行之前打印出从Table().create()生成的原始SQL CREATE TABLE数据?

python pylons sqlalchemy

40
推荐指数
5
解决办法
2万
查看次数

标签 统计

python ×2

sqlalchemy ×2

mysql ×1

pylons ×1

sql ×1