我一直在了解使用闭包表来建模 SQL 中的层次结构。
那么,[SQLAlchemy]是否有内置支持,可以使用闭包表创建和遍历对象实例的分层集合(树形结构集合)?
我一直在了解使用闭包表来建模 SQL 中的层次结构。
那么,[SQLAlchemy]是否有内置支持,可以使用闭包表创建和遍历对象实例的分层集合(树形结构集合)?
最近我在博客上谈到了这个问题。
总的来说,sqlalchemy并没有比SQL更多可以做的事情;sqlalchemy提供的只是一些生成SQL和将结果集变成漂亮的Python对象的方法。
如果你的数据库提供了一些有用的工具来处理递归关系,例如CONNECT BY
或者WITH RECURSIVE
结构,那么可以很容易地将这些查询转化为可选择和可映射的Python对象。
在链接的帖子中,我需要在MySQL上实现一个读写部分有序关系,但它并不提供递归数据结构方面的SQL级别支持。我设计了一个类似于sqlalchemy风格的工具属性的模拟版本,并在后台维护传递闭包不变量。