我想知道关于django-mptt的事情,因为我正在考虑将它用于工程协调项目。
我会有一个Model类(比如'Interface'),在Tree中有一个到Model的ForeignKey(比如'Location')。
我能否按照所涉及的位置深度过滤界面?深度是父母的数量。
我还不知道如何整理我的数据,这就是我要问的原因。我正在考虑使用django-mptt(与在部署时由循环创建的模型相对,每个模型对应一个树级别),但我害怕它会阻止我的某个点并迫使我审查我的整个项目。
答案 0 :(得分:9)
最后找到我的答案:django-mptt dev documentation
级别节点在树中的级别(或“深度”)。
根节点为0级,他们的直接子级为1级 直系儿童是2级等等......
为方便起见,该字段纯粹是非规范化。它避免了 需要检查树结构以确定a的级别 特定节点并进行需要深入研究的查询 使用Django的ORM更容易实现帐户。例如,限制 为整个树检索的节点级别数 或任何子树:
# Retrieve root nodes and their immediate children only
SomeModel.tree.filter(level__lte=1)