{{tag>dev python orm sqlachemy}} :TODO_DOCUPDATE: ====== L'extension Flask-SQLAlchemy ====== ===== A propos de SQLAlchemy ===== SQLAlchemy est un **ORM** (Object-Relational Mapping) il permet de traduire les objets Python en données pouvant être enregistrées dans un SGBD externe. ===== Installation ===== Pour pouvoir utiliser l'extension, installer le module **Flask-SQLAlchemy** # Dans votre environnement virtuel pip install Flask-SQLAlchemy ===== Types de champs usuels ===== * db.Boolean * db.Integer * db.Float(precision=2) * db.String(100) * db.Text * db.Date * db.DateTime source : [[https://docs.sqlalchemy.org/en/20/orm/declarative_tables.html#mapped-column-derives-the-datatype-and-nullability-from-the-mapped-annotation|Les types de données (docs.sqlalchemy.org) ]] ===== Réordonner les enregistrements ===== Ici on récupères tous les enregistrements en spécifiant l'ordre ===== Utiliser Clause WHERE ===== >>> # Récupère l'enregistrement dont le nom est 'memo' >>> mc = MarkerCategory.query.where(MarkerCategory.name == 'memo').all() >>> mc [] ===== Relation one-to-many ===== ===== Références ===== * https://flask-sqlalchemy.palletsprojects.com/en/stable/ * https://docs.sqlalchemy.org/en/20/orm/basic_relationships.html#one-to-one * https://pythonbasics.org/flask-sqlalchemy/ * https://www.slingacademy.com/article/solving-sqlalchemy-integrityerror-when-inserting-data/ * https://www.codementor.io/@garethdwyer/building-a-crud-application-with-flask-and-sqlalchemy-dm3wv7yu2 * https://www.digitalocean.com/community/tutorials/how-to-use-one-to-many-database-relationships-with-flask-sqlalchemy * https://stackoverflow.com/questions/18807322/sqlalchemy-foreign-key-relationship-attributes * https://www.youtube.com/watch?v=g0-7TrVCNtg