我试图让 SQLAlchemy 为我提交的每个查询添加注释。
我从文档中知道我可以做这样的事情:
from sqlalchemy.sql.expression import Insert
@compiles(Insert)
def prefix_inserts(insert, compiler, **kw):
return compiler.visit_insert(insert.prefix_with("/* comment */"), **kw)
Run Code Online (Sandbox Code Playgroud)
但是我无法弄清楚如何为每个查询都做到这一点,无论是什么类型,而不必在compiles装饰器中列出每个查询。
我会使用事件。SQLAlchemy 文档中有一个示例:
from sqlalchemy.engine import Engine
from sqlalchemy import event
@event.listens_for(Engine, "before_cursor_execute", retval=True)
def comment_sql_calls(conn, cursor, statement, parameters,
context, executemany):
statement = statement + " -- some comment"
return statement, parameters
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1301 次 |
| 最近记录: |