La classe ''Category'' utilise un modèle(pattern) bien connu dit en "liste adjacente" ([[https://docs.sq... egory.label == 'root').first()
>>> # root_cat est bien un objet de type Category
>>> type(root_cat)
<cla... Category'>
>>>
>>> # la catégorie racine contient bien les deux sous-catégories
>>> for c in root_cat.ch... de données. On constate ainsi que la table existe bien avec la contrainte et que les enregistrements ont
valeur n'est renseignée, l'attribut price existe bien.
===== Rétrogradation de la base de données ===... Y (id)
);
</code>
On peut voir que la version a bien été modifiée et que la table ne comporte plus de
t associé à **1 ou plusieurs** jeux ;
On définit bien une association plusieurs-à-plusieurs mais on ne ... de suppression des enregistrements orphelins est bien pris en charge par l'ORM SQLAlchemy sur des assoc