用于使用 Django 模型实现修改的预排序树遍历和使用模型实例树的实用程序。
项目描述
该项目目前未维护
django-mptt 的替代方案包括:
django-treebeard包含一个 MPTT 实现(称为嵌套集)
也许您不需要 MPTT,尤其是在使用较新的数据库时。有关使用递归公用表表达式 (CTE) 的实现,请参阅 django-tree-queries。请参阅 公告博客文章。
django-mptt
用于使用 Django 模型实现修改的预排序树遍历和使用模型实例树的实用程序。
项目主页:https ://github.com/django-mptt/django-mptt/
文档:https ://django-mptt.readthedocs.io/
讨论组:https ://groups.google.com/forum/#!forum/django-mptt-dev
什么是修正的先序树遍历?
MPTT 是一种在数据库中存储分层数据的技术。目的是使检索操作非常有效。
这种效率的折衷是在树周围执行插入和移动项目更加复杂,因为需要一些额外的工作来保持树结构始终处于良好状态。
这里有几篇关于 MPTT 的文章,可以激发您的兴趣,并提供有关该技术本身如何工作的详细信息:
什么是django-mptt?
django-mptt是一个可重用的 Django 应用程序,旨在让您可以轻松地将 MPTT 与您自己的 Django 模型一起使用。
它负责将数据库表管理为树结构的细节,并提供用于处理模型实例树的工具。
要求
Python 3.6+
受支持的 Django 版本(当前为 2.2+)
功能概述
模型的简单注册 - 树结构所需的字段将自动添加。
当您创建或删除模型实例或更改实例的父级时,树结构会自动更新。
树的每个级别都会按您选择的一个(或多个字段)自动排序。
新的模型方法被添加到每个注册的模型中:
改变树中的位置
检索祖先,兄弟姐妹,后代
计算后代
其他与树相关的操作
一个TreeManager管理器被添加到所有注册的模型中。这提供了以下方法:
在树周围移动节点,或移动到不同的树中
在树的任意位置插入一个节点
重建树的 MPTT 字段(在 django 之外进行批量更新时很有用)
用于渲染树的模板标签和过滤器。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
django_mptt -0.13.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 75745b621ae31d97957ed924155a750dfa8cacd9543799ada2d713fd6bc3f5c7 |
|
MD5 | 5ef078b04dce85997dfb5b2f8afa312e |
|
布莱克2-256 | abb1e9bf441448b880119f6a77c74a9555a0ef9dbba4ab5403b65abb12a5998f |