Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django MPTT:按深度过滤?_Python_Django_Django Models_Django Mptt_Mptt - Fatal编程技术网

Python Django MPTT:按深度过滤?

Python Django MPTT:按深度过滤?,python,django,django-models,django-mptt,mptt,Python,Django,Django Models,Django Mptt,Mptt,我想了解一下django mptt,因为我正在考虑将其用于工程协调项目 我将有一个模型类(比如“Interface”),在树中有一个模型的外键(比如“Location”) 我是否能够根据接口引用位置的深度过滤接口?深度是指父母的数量 我还不知道如何组织我的数据,这就是我问的原因。我正在考虑使用django mptt(与部署时由循环创建的模型相反,每个模型对应一个树级别),但我担心它会在某个点上阻止我,迫使我检查整个项目。最终找到了我的答案: 级别节点位于树中的级别(或“深度”) 根节点是级别0,

我想了解一下django mptt,因为我正在考虑将其用于工程协调项目

我将有一个模型类(比如“Interface”),在树中有一个模型的外键(比如“Location”)

我是否能够根据接口引用位置的深度过滤接口?深度是指父母的数量


我还不知道如何组织我的数据,这就是我问的原因。我正在考虑使用django mptt(与部署时由循环创建的模型相反,每个模型对应一个树级别),但我担心它会在某个点上阻止我,迫使我检查整个项目。

最终找到了我的答案:

级别节点位于树中的级别(或“深度”)

根节点是级别0,它们的直接子节点是级别1,它们的 直系子女为2级,以此类推

为了方便起见,此字段纯粹是非规范化。它避免了 需要检查树结构以确定 特定节点,并进行需要考虑深度的查询 使用Django的ORM更容易实现帐户。例如,限制 为整个树检索的节点级别数 或任何子树:

# Retrieve root nodes and their immediate children only
SomeModel.tree.filter(level__lte=1)