Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso ottenere una query SQL grezza e compilata da un'espressione SQLAlchemy?

Questo blog fornisce una risposta aggiornata.

Citando dal post del blog, questo è suggerito e ha funzionato per me.

>>> from sqlalchemy.dialects import postgresql
>>> print str(q.statement.compile(dialect=postgresql.dialect()))

Dove q è definito come:

>>> q = DBSession.query(model.Name).distinct(model.Name.value) \
             .order_by(model.Name.value)

O qualsiasi tipo di session.query() .

Grazie a Nicolas Cadou per la risposta! Spero che aiuti gli altri che vengono a cercare qui.