def compile_query(query):
    dialect = query.session.bind.dialect
statement = query.statement
comp = compiler.SQLCompiler(dialect, statement)
comp.compile()
enc = dialect.encoding
params = {}
for k, v in comp.params.items():
    if isinstance(v, str):
        v = v.encode(enc)
params[k] = sqlescape(v)
return (comp.string.encode(enc) % params).decode(enc)
Как получить необработанный скомпилированный SQL-запрос из выражения SQLAlchemy?