{{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