2011-09-07 1 views
6

J'ai lu environ closure tables comme un moyen de modélisation des hiérarchies sur SQL. Est-ce que [SQLAlchemy] a un support intégré pour créer et parcourir des collections hiérarchiques d'instances d'objets (collections structurées en arborescence) en utilisant des tables de fermeture?SQLAlchemy prend-il en charge les "tables de fermeture"?

+0

Cela semble être similaire à une autre, plus récente (bien que toujours un an) question: http://stackoverflow.com/q/30932387/149076 –

Répondre

7

J'ai récemment blogged on this matter.

Pour la plupart, sqlalchemy ne fait rien que SQL ne aussi ne pas; sqlalchemy ne fournit vraiment que des moyens de générer sql et de transformer les ensembles de résultats en de beaux objets python.

Si votre base de données fournit des outils utiles pour travailler avec des relations de récurrence, comme les constructions CONNECT BY ou WITH RECURSIVE, puis sqlalchemy peut être facilement adapté pour traiter les requêtes résultantes comme des objets Python sélectionnables et cartographiables.

Dans la publication liée, j'étais confronté à l'implémentation d'un ordre partiel en lecture-écriture sur MySQL, qui n'offre aucune assistance au niveau SQL pour les structures de données récursives. La solution que j'ai conçue a créé un analogue d'un attribut instrumenté de style sqlalchemy qui maintenait l'inversion de fermeture transitive derrière la scène.

+0

bon blog - bonne solution au problème – van

Questions connexes