2011-09-07 7 views
6

He estado leyendo acerca de closure tables como una forma de modelar jerarquías sobre SQL.¿SQLAlchemy es compatible con "tablas de cierre"?

¿Tiene [SQLAlchemy] compatibilidad incorporada para crear y atravesar colecciones jerárquicas de instancias de objeto (colecciones estructuradas por árbol) utilizando tablas de cierre?

+0

Esto parece ser similar a otra pregunta más nueva (aunque todavía hace un año): http://stackoverflow.com/q/30932387/149076 –

Respuesta

7

recientemente he blogged on this matter.

En su mayor parte, sqlalchemy no hace nada que SQL también no hacer; sqlalchemy realmente solo proporciona formas de generar sql y convertir los conjuntos de resultados en agradables objetos de pitón.

Si su base de datos proporciona algunas herramientas útiles para trabajar con relaciones de recurrencia, como las construcciones CONNECT BY o WITH RECURSIVE, entonces sqlalchemy se puede adaptar fácilmente para tratar las consultas resultantes como objetos pitón seleccionables y asignables.

En la publicación vinculada, tuve que implementar una orden parcial de lectura-escritura en MySQL, que no ofrece asistencia de nivel SQL para estructuras de datos recursivas. La solución que ideé creó un análogo de un atributo instrumentado de estilo sqlalchemy que mantenía el cierre transitivo invariante entre bastidores.

+0

buen blog - buena solución al problema – van

Cuestiones relacionadas