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 17:35] – root | dev:python:sqlalchemy [2024/12/02 23:31] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | : | ||
| + | |||
| + | |||
| ====== SQLAlchemy ====== | ====== SQLAlchemy ====== | ||
| Ligne 12: | Ligne 15: | ||
| ===== Principes ===== | ===== Principes ===== | ||
| - | Sous SQLAlchemy, on manipule 3 éléments importants: | + | Avec SQLAlchemy, on manipule 3 éléments importants: |
| * L' | * L' | ||
| * Le //mapper// qui se charge de faire correspondre la classe Python à une table dans la base de données. | * 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. | * Un objet class qui définit comment un enregistrement dans la base de données correspond à un objet Python. | ||
| - | Pour ne pas avoir à écrire du code pour les | + | 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:// | ||