Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je obtenir une requête SQL brute compilée à partir d'une expression SQLAlchemy ?

Ceci blog fournit une réponse mise à jour.

Citant le billet de blog, ceci est suggéré et a fonctionné pour moi.

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

Où q est défini comme :

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

Ou n'importe quel type de session.query() .

Merci à Nicolas Cadou pour la réponse ! J'espère que cela aidera les autres qui viennent chercher ici.