Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
dev:python:sqlalchemy [2015/02/10 10:19] – root | dev:python:sqlalchemy [2024/12/02 23:31] (Version actuelle) – yoann | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | : | ||
+ | |||
+ | |||
====== SQLAlchemy ====== | ====== SQLAlchemy ====== | ||
Ligne 5: | Ligne 8: | ||
Les langages orientés objets tels que Python permettent de définir des types non-scalaires qui ne peuvent pas être exprimés directement en types primitifs tels que des entiers ou des chaînes de caractères. Par exemple un objet de type //Person// peut contenir une liste d' | Les langages orientés objets tels que Python permettent de définir des types non-scalaires qui ne peuvent pas être exprimés directement en types primitifs tels que des entiers ou des chaînes de caractères. Par exemple un objet de type //Person// peut contenir une liste d' | ||
- | Dans le but de gérer | + | Pour mieux faire face à la complexité de gestion des variables non scalaire notamment lorsque l'on souhaite les stocker dans des bases de données, |
+ | |||
+ | L'ORM ajoute un niveau d' | ||
+ | |||
+ | |||
+ | ===== Principes ===== | ||
+ | |||
+ | Avec SQLAlchemy, on manipule 3 éléments importants: | ||
+ | * L' | ||
+ | * Le //mapper// qui se charge de faire correspondre la classe Python à une table dans la base de données. | ||
+ | * Un objet class qui définit comment un enregistrement dans la base de données correspond à un objet Python. | ||
+ | |||
+ | SQLAlchemy fournit declarative qui permet de regrouper le code des classes Table, mapper au sein d'une même définition de classe. | ||
+ | |||
+ | |||
+ | ==== La fonction create_engine() ==== | ||
+ | |||
+ | Petite remarque à propos de la syntaxe de la chaîne de caractère passée en paramètre à la fonction **create_engine()**. C'est une URL. Pour utiliser une base **sqlite** attention au nombre de caractères obliques: | ||
+ | |||
+ | < | ||
+ | # Base temporaire stockée en mémoire RAM | ||
+ | sqlite:///: | ||
+ | |||
+ | # Chemin relatif vers la base | ||
+ | sqlite:/// | ||
+ | # Chemin absolu vers la base | ||
+ | sqlite://// | ||
+ | </ | ||
===== Références ===== | ===== Références ===== | ||
* http:// | * http:// | ||
+ | * https:// | ||