Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erhalte ich eine rohe, kompilierte SQL-Abfrage aus einem SQLAlchemy-Ausdruck?

Dies blog bietet eine aktualisierte Antwort.

Aus dem Blogpost zitierend, wird dies vorgeschlagen und hat für mich funktioniert.

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

Wobei q definiert ist als:

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

Oder einfach jede Art von session.query() .

Danke an Nicolas Cadou für die Antwort! Ich hoffe, es hilft anderen, die hier suchen.