al.html|adjacency list pattern]]) qui se présente comme une table se référençant elle même (ici via la ... ''parent_id''.
Lorsqu'on teste cet objet via la commande **flask shell** on constate que la contraint... Depuis flask shell
>>> db.create_all()
>>> # Ce comportement est correct
>>> rc = Category("root")
>>... -B") )
>>>
>>> db.session.add(rc)
>>> db.session.commit()
>>>
>>> del rc
>>>
>>> # On récupère la caté
DOCUPDATE:
====== Flask-SQLAlchemy : relation de composition ======
La relation de composition est une forme particulière de [[dev:python:flask:flask-sqla... ion one-to-many]]. Le diagramme UML la représente comme ci-dessous :
{{mcd_relation_composition.png}}
* Une voiture (le composite) peut contenir un ou p
lisés, alors on veut les supprimer également.
Ce comportement de suppression des enregistrements orphe... **SQLAlchemy-Utils** permet de mettre en œuvre se comportement via sa fonction **auto_delete_orphans**.... Références =====
* [[https://www.digitalocean.com/community/tutorials/how-to-use-many-to-many-database-relationships-with-flask-sqlalchemy|Comment utili
db.session.add(self)
db.session.commit()
product.shop_id = self.id
db.session.add(product)
db.session.commit()
class Product(db.Model):
__tablename__... __name__ pour définir le nom du module courant
# comme root applicatif pour notre application flask
ap... roducts'' **ne retourne plus directement la liste complète** de tous les produits désignés par la relat
n_one-to-many|relation one-to-many]]. C'est une **composition sans appartenance** : la suppression d'un... ette association.
On peut tester rapidement le comportement du modèle avec la commande **flask shell** (mode interactif dans le contexte de l'application... ession.add_all([repo, p1, p2, p3])
>>> db.session.commit()
>>>
>>> # Récupère et affiche les colis
>>>
férences =====
* [[https://blog.miguelgrinberg.com/post/implementing-the-soft-delete-pattern-with-flask-and-sqlalchemy|Mise en œuvre du soft delete avec flask et sqlalchemy (miguelgrinberg.com)]]