Dar*_*zak 10 python sqlalchemy
我正在使用SQLAlchemy并希望记录执行的 SQL代码(即已引用和替换所有绑定参数的代码).在psycopg2的情况下,可以使用对象的query属性Cursor(请参阅psycopg文档).在MySQLdb的情况下,可以使用对象的_last_executed属性Cursor.
我的问题是:如何使用SQLAlchemy接口检索刚刚执行的查询字符串?它是提供这样的功能还是我应该编写自己的帮助函数?
在此先感谢您的帮助.
zee*_*kay 22
SQLAlchemy使用标准的Python日志库.将查询记录到名为的文件db.log:
import logging
logging.basicConfig(filename='db.log')
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
Run Code Online (Sandbox Code Playgroud)
使用Python日志记录时,请确保将所有echo标志设置为False,以避免重复日志记录.现在向db添加一些东西:
>>> Movie(title=u"Blade Runner", year=1982)
>>> session.commit()
Run Code Online (Sandbox Code Playgroud)
哪个会记录如下:
INFO:sqlalchemy.engine.base.Engine:BEGIN (implicit)
INFO:sqlalchemy.engine.base.Engine:INSERT INTO models_movie (title, year, description) VALUES (%(title)s, %(year)s, %(description)s) RETURNING models_movie.id
INFO:sqlalchemy.engine.base.Engine:{'title': u'Blade Runner', 'description': None, 'year': 1982}
INFO:sqlalchemy.engine.base.Engine:COMMIT
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6533 次 |
| 最近记录: |