为Django模型实现修改前序树遍历并提供Model实例树操作的实用工具。
项目描述
该项目目前未维护
django-mptt的替代方案包括
django-treebeard 包含了一个MPTT实现(称为嵌套集),但其维护状态尚不明确。
也许您不需要MPTT,尤其是当使用较新的数据库时。请参见django-tree-queries(使用递归公共表表达式(CTE)的实现)。请参阅公告博客文章。
django-mptt
为Django模型实现修改前序树遍历并提供Model实例树操作的实用工具。
项目主页: 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 版本:[Python 版本链接](https://devguide.pythonlang.cn/versions/#supported-versions)
支持的 Django 版本:[Django 版本链接](https://django.ac.cn/download/#supported-versions)
功能概述
简单注册模型 - 将自动添加用于树结构的所需字段。
当您创建或删除模型实例,或更改实例的父项时,树结构会自动更新。
树中的每个级别都会自动按您选择的字段(或字段集)排序。
为每个注册的模型添加了新的模型方法,用于
在树中更改位置
检索祖先、兄弟、后代
计算后代数量
其他与树相关的操作
为所有注册的模型添加了 TreeManager 管理器。这提供了以下方法
在树中移动节点或将其移动到不同的树中
在树中的任何位置插入节点
重建树的 MPTT 字段(当您在 Django 之外进行批量更新时很有用)
管理类,用于在 Django 的管理界面中可视化和管理树。
项目详情
下载文件
下载适合您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建版本
django_mptt-0.16.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56c9606bf0b329b5f5afd55dd8bfd073612ea1d5999b10903b09de62bee84c8e |
|
MD5 | 172c787dbfadab59bc4f7c0a81a774b0 |
|
BLAKE2b-256 | 065811dcda841c5570cecab15d52362096e36bf61c0a7013df903e9747bc6a6c |
django_mptt-0.16.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8716849ba3318d94e2e100ed0923a05c1ffdf8195f8472b690dbaf737d2af3b5 |
|
MD5 | e3bbac697a6db12c2f60cfa675003adb |
|
BLAKE2b-256 | 452761a39b0d716e52be2df7d9fed6e35fe10eb3faaf207cdfaac3f9f68ecb1a |