簡體   English   中英

在Python中打印SQLAlchemy查詢

[英]Printing the SQLAlchemy Query in Python

我需要知道獲取帶有值的SQLAlchemy查詢的方法。

我可以打印正在處理的查詢,但是它不顯示值,而是顯示字段名稱本身。

SELECT recordsets.id AS recordsets_id, recordsets.version AS recordsets_version
FROM recordsets 
WHERE recordsets.domain_id = :domain_id_1 
AND recordsets.tenant_id IN (:tenant_id_1, :tenant_id_2) 
AND recordsets.name IN (:name_1, :name_2)

因此,我需要查看值本身,而不是:name_1,:name_2或:tenant_id_1,:tenant_id_2。

創建引擎時,可以通過在True上設置echo來打開日志記錄。 這將打印所有查詢及其參數。

例:

engine = create_engine("mysql://scott:tiger@hostname/dbname",
                        encoding='latin1', echo=True)

請參閱: http : //docs.sqlalchemy.org/en/rel_1_0/core/engines.html#engine-creation-api

對於您的示例,輸出將如下所示:

2015-11-16 15:50:25,137 INFO sqlalchemy.engine.base.Engine SELECT recordsets.id AS recordsets_id, recordsets.version AS recordsets_version
FROM recordsets 
WHERE recordsets.domain_id = :domain_id_1 
AND recordsets.tenant_id IN (:tenant_id_1, :tenant_id_2) 
AND recordsets.name IN (:name_1, :name_2)
2015-11-16 15:50:25,137 INFO sqlalchemy.engine.base.Engine {'domain_id_1': 'THE actual domain id', 'tenant_id_1': 234, 'tenant_id_2': 456, 'name_1': 'your first name', 'name_2': 'your second example name'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM