Skip to main content

用于使用 Django 模型实现修改的预排序树遍历和使用模型实例树的实用程序。

项目描述

该项目目前未维护

django-mptt 的替代方案包括:

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 管理界面中可视化和修改树的管理类

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-mptt-0.13.4.tar.gz (102.9 kB 查看哈希)

已上传 source

内置分布

django_mptt-0.13.4-py3-none-any.whl (137.1 kB 查看哈希)

已上传 py3