{{tag>dev python sql sqlalchemy}}
====== Afficher les requêtes produites par l'ORM SQLAlchemy ======
===== La variable de configuration SQLALCHEMY_ECHO =====
Lorsqu'on utilise l'extension Flask-SQLAlchemy, on peut afficher un retour des requêtes produites par l'ORM sur la console en utilisant la variable de configuration **SQLALCHEMY_ECHO**
app.config["SQLALCHEMY_ECHO"] = True
===== Conversion d'un objet Query =====
La conversion d'un objet de type Query en chaîne de caractère permet d'afficher la requête SQL.
Dans l'exemple ci-dessous, la classe Shop est sérialisable vers le SGBDR (hérite de Model)
>>> q = Shop.query.filter(Shop.name.like('%lou%') )
>>> q
>>> print( str(q) )
SELECT shops.id AS shops_id, shops.name AS shops_name
FROM shops
WHERE shops.name LIKE ?
===== Références =====
* https://docs.sqlalchemy.org/en/20/faq/sqlexpressions.html
* https://stackoverflow.com/questions/5631078/sqlalchemy-print-the-actual-query
* https://stackoverflow.com/questions/12369295/flask-sqlalchemy-display-queries-for-debug