pis*_*che 2 python django django-models mptt django-mptt
我想知道关于django-mptt的事情,因为我正在考虑将它用于工程协调项目.
我会有一个Model类(比如说'Interface'),在Tree中有一个到Model的ForeignKey(比如'Location').
我能否按照他们所指的位置深度过滤接口?深度是父母的数量.
我还不知道如何组织我的数据,这就是我要问的原因.我正在考虑使用django-mptt(与在部署时由循环创建的模型相对,每个模型对应一个树级别),但我害怕它会阻止我的某个点并迫使我审查我的整个项目.
终于找到了我的答案:django-mptt dev文档
级别节点位于树中的级别(或"深度").
根节点为0级,其直接子级为1级,其直接子级为2级,依此类推......
为方便起见,该字段纯粹是非规范化.它避免了检查树结构以确定特定节点的级别的需要,并且使用Django的ORM使得需要深入考虑的查询更容易实现.例如,限制为整个树或任何子树检索的节点级别数:
# Retrieve root nodes and their immediate children only
SomeModel.tree.filter(level__lte=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3899 次 |
| 最近记录: |