2011-09-07 12 views
6

Ho letto circa closure tables come modo di modellare le gerarchie su SQL.SQLAlchemy supporta "tabelle di chiusura?"

Does [SQLAlchemy] dispone di un supporto integrato per la creazione e l'attraversamento di raccolte gerarchiche di istanze di oggetti (raccolte strutturate ad albero) utilizzando le tabelle di chiusura?

+0

Questo sembra essere simile a un'altra, più recente (anche se ancora vecchia di anno) domanda: http://stackoverflow.com/q/30932387/149076 –

risposta

7

Ho recentemente blogged on this matter.

Per la maggior parte, SQLAlchemy non fa nulla che SQL anche non fare; sqlalchemy offre davvero solo modi per generare sql e trasformare i set di risultati in oggetti python.

Se il database fornisce alcuni strumenti utili per lavorare con relazioni di ricorrenza, come i CONNECT BY o WITH RECURSIVE costrutti, quindi SQLAlchemy può essere facilmente adattato per trattare le domande risultanti come oggetti Python selezionabili e mappabili.

Nel post collegato, ho dovuto implementare un ordine parziale di lettura-scrittura su MySQL, che non offre assistenza SQL per strutture dati ricorsive. La soluzione che ho ideato ha creato un analogo di un attributo instrument style sqlalchemy che ha mantenuto invariata la chiusura transitiva dietro le quinte.

+0

buon blog - buona soluzione al problema – van

Problemi correlati