我正在尋找一種在Django中存儲和使用分層(父/子)數據的好方法。我一直在使用django-mptt,但它似乎與我的大腦完全不兼容 - 我在非顯而易見的地方發現了非顯而易見的錯誤,主要是在樹中移動時:最終導致狀態不一致,節點和其父母將不同意他們的關係。在Python/Django中存儲分層(父/子)數據:MPTT替代方案?
我的需求很簡單:
- 給出一個節點:
- 找到它的根源
- 找到它的祖先
- 找到它的後代
- 一棵樹:
- 輕鬆移動節點(即。改變父)
我的樹木將短小(最多10K的節點超過20個級別,一般是多少小得多,說有1級或2級10個節點)。
我不得不認爲必須有一個更簡單的方法來在python/django中執行樹。還有其他方法能更好地保持一致性嗎?
Django的MPTT是偉大的 - 只是看了一些丹尼爾·羅斯曼的答案在這裏(http://stackoverflow.com/questions/2324727/re-ordering-child-nodes- in-django-mptt/2326625#2326625)有助於移動節點。不要放棄! – 2010-04-23 15:56:53
謝謝,這看起來也是我的問題的可能原因,但我不相信自己每次都會這麼做 - 看起來太容易錯過了。我會迴應你的評論:「對MPTT和樹木進入不良狀態的可能性仍然有點緊張」:-)我認爲你最終開心了嗎? – Parand 2010-04-23 16:00:06