6

我一直在阅读关于闭包表作为通过 SQL 建模层次结构的一种方式。

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

4

1 回答 1

7

我最近在博客上讨论了这个问题。

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

如果您的数据库提供了一些有用的工具来处理递归关系,例如CONNECT BYorWITH RECURSIVE构造,那么 sqlalchemy 可以很容易地适应将生成的查询视为可选择和可映射的 Python 对象。

在链接的帖子中,我面临着在 MySQL 上实现读写偏序,它没有为递归数据结构提供 SQL 级别的帮助。我设计的解决方案创建了一个类似 sqlalchemy 风格的检测属性,它在幕后保持传递闭包不变。

于 2011-09-07T20:52:29.893 回答