我正在寻找一种在 Django 中存储和使用分层(父/子)数据的好方法。我一直在使用django-mptt,但它似乎与我的大脑完全不兼容 - 我最终在不明显的地方遇到不明显的错误,主要是在树中移动东西时:我最终状态不一致,其中节点和它的父节点会不同意他们的关系。
我的需求很简单:
- 给定一个节点:
- 找到它的根源
- 找到它的祖先
- 找到它的后代
- 用一棵树:
- 轻松移动节点(即更改父节点)
我的树会很小(最多 10k 个节点超过 20 个级别,通常要小得多,比如 10 个节点具有 1 个或 2 个级别)。
我不得不认为必须有一种更简单的方法在 python/django 中创建树。还有其他方法可以更好地保持一致性吗?