Utilities for implementing Modified Preorder Tree Traversal with your Django Models and working with trees of Model instances.
Project description
===========
django-mptt
===========
Utilities for implementing Modified Preorder Tree Traversal with your
Django Models and working with trees of Model instances.
.. image:: https://secure.travis-ci.org/django-mptt/django-mptt.png?branch=master
:alt: Build Status
:target: https://travis-ci.org/django-mptt/django-mptt
Project home: http://github.com/django-mptt/django-mptt/
Documentation: http://django-mptt.github.io/django-mptt/
Discussion group: http://groups.google.com/group/django-mptt-dev
What is Modified Preorder Tree Traversal?
=========================================
MPTT is a technique for storing hierarchical data in a database. The aim is to
make retrieval operations very efficient.
The trade-off for this efficiency is that performing inserts and moving
items around the tree is more involved, as there's some extra work
required to keep the tree structure in a good state at all times.
Here are a few articles about MPTT to whet your appetite and provide
details about how the technique itself works:
* `Trees in SQL`_
* `Storing Hierarchical Data in a Database`_
* `Managing Hierarchical Data in MySQL`_
.. _`Trees in SQL`: http://www.ibase.ru/devinfo/DBMSTrees/sqltrees.html
.. _`Storing Hierarchical Data in a Database`: http://www.sitepoint.com/print/hierarchical-data-database
What is ``django-mptt``?
========================
``django-mptt`` is a reusable Django app which aims to make it easy for you
to use MPTT with your own Django models.
It takes care of the details of managing a database table as a tree
structure and provides tools for working with trees of model instances.
Requirements
------------
* Python 2.7 or 3.2+
* A supported version of Django (currently 1.8+)
Feature overview
----------------
* Simple registration of models - fields required for tree structure will be
added automatically.
* The tree structure is automatically updated when you create or delete
model instances, or change an instance's parent.
* Each level of the tree is automatically sorted by a field (or fields) of your
choice.
* New model methods are added to each registered model for:
* changing position in the tree
* retrieving ancestors, siblings, descendants
* counting descendants
* other tree-related operations
* A ``TreeManager`` manager is added to all registered models. This provides
methods to:
* move nodes around a tree, or into a different tree
* insert a node anywhere in a tree
* rebuild the MPTT fields for the tree (useful when you do bulk updates
outside of django)
* Form fields for tree models.
* Utility functions for tree models.
* Template tags and filters for rendering trees.
* Admin classes for visualizing and modifying trees in Django's administration
interface.
django-mptt
===========
Utilities for implementing Modified Preorder Tree Traversal with your
Django Models and working with trees of Model instances.
.. image:: https://secure.travis-ci.org/django-mptt/django-mptt.png?branch=master
:alt: Build Status
:target: https://travis-ci.org/django-mptt/django-mptt
Project home: http://github.com/django-mptt/django-mptt/
Documentation: http://django-mptt.github.io/django-mptt/
Discussion group: http://groups.google.com/group/django-mptt-dev
What is Modified Preorder Tree Traversal?
=========================================
MPTT is a technique for storing hierarchical data in a database. The aim is to
make retrieval operations very efficient.
The trade-off for this efficiency is that performing inserts and moving
items around the tree is more involved, as there's some extra work
required to keep the tree structure in a good state at all times.
Here are a few articles about MPTT to whet your appetite and provide
details about how the technique itself works:
* `Trees in SQL`_
* `Storing Hierarchical Data in a Database`_
* `Managing Hierarchical Data in MySQL`_
.. _`Trees in SQL`: http://www.ibase.ru/devinfo/DBMSTrees/sqltrees.html
.. _`Storing Hierarchical Data in a Database`: http://www.sitepoint.com/print/hierarchical-data-database
What is ``django-mptt``?
========================
``django-mptt`` is a reusable Django app which aims to make it easy for you
to use MPTT with your own Django models.
It takes care of the details of managing a database table as a tree
structure and provides tools for working with trees of model instances.
Requirements
------------
* Python 2.7 or 3.2+
* A supported version of Django (currently 1.8+)
Feature overview
----------------
* Simple registration of models - fields required for tree structure will be
added automatically.
* The tree structure is automatically updated when you create or delete
model instances, or change an instance's parent.
* Each level of the tree is automatically sorted by a field (or fields) of your
choice.
* New model methods are added to each registered model for:
* changing position in the tree
* retrieving ancestors, siblings, descendants
* counting descendants
* other tree-related operations
* A ``TreeManager`` manager is added to all registered models. This provides
methods to:
* move nodes around a tree, or into a different tree
* insert a node anywhere in a tree
* rebuild the MPTT fields for the tree (useful when you do bulk updates
outside of django)
* Form fields for tree models.
* Utility functions for tree models.
* Template tags and filters for rendering trees.
* Admin classes for visualizing and modifying trees in Django's administration
interface.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-mptt-0.8.4.tar.gz
(119.2 kB
view details)
Built Distribution
File details
Details for the file django-mptt-0.8.4.tar.gz
.
File metadata
- Download URL: django-mptt-0.8.4.tar.gz
- Upload date:
- Size: 119.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11445b7b12922fe1d3205baf06e1420ec018bccb4ede486c4a5694cf303ee76e |
|
MD5 | 0178849122bc2e39ce8d0c40e93ffe69 |
|
BLAKE2b-256 | 78d64efcdf4d75b77900ac7b194cd4c85ac55a4f666d2edd470546aea30b0c48 |
File details
Details for the file django_mptt-0.8.4-py2.py3-none-any.whl
.
File metadata
- Download URL: django_mptt-0.8.4-py2.py3-none-any.whl
- Upload date:
- Size: 218.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5552e6c540ec905caa03f7d3d9ae698e0306c8c9940829b23965ec6533a7468 |
|
MD5 | 2a4904f4c3bc85cf8d8c1c18589ee0fe |
|
BLAKE2b-256 | b0b7266b4969b51ea4584cdcc4ff673228ee0cec73fcea98d74aa570eca47547 |