2011-09-07 51 views
6

我一直在阅读关于closure tables作为SQL建模层次结构的一种方式。SQLAlchemy是否支持“闭包表?”

[SQLAlchemy]是否有任何内置支持来创建和遍历使用闭包表的对象实例(树结构化集合)的分层集合?

+0

这似乎是相似的另一个较新的(虽然仍然一岁)的问题:http://stackoverflow.com/q/30932387/149076 –

回答

7

我最近blogged on this matter.

在大多数情况下,SQLAlchemy的没有做任何SQL也不会做; sqlalchemy实际上只提供了生成sql的方法,并将结果集转换为很好的python对象。

如果你的数据库提供了一些有用的工具与递推关系,如CONNECT BYWITH RECURSIVE构建工作,那么SQLAlchemy的可以很容易地适合于治疗所产生的查询,可选择和可映射的Python对象。

在链接的文章中,我面临着在MySQL上实现读写部分顺序的问题,它不提供递归数据结构的SQL级别帮助。我设计的解决方案创建了一个sqlalchemy风格的instrumented属性的模拟,该属性保持幕后的传递闭包不变。

+0

好博客 - 解决问题的好办法 – van