django-treebeard is a library that implements efficient tree implementations for the Django Web Framework 1.0+. It includes 3 different tree implementations: Adjacency List, Materialized Path and Nested Sets. Each one has it's own strength and weaknesses but share the same API, so it's easy to switch between implementations.
django-treebeard uses Django Model Inheritance with abstract classes to let you define your own models. To use django-treebeard:
- Download a release from the treebeard download page or get a development version from the treebeard mercurial repository.
- Run python setup.py install
- Add 'treebeard' to the INSTALLED_APPS section in your django settings file.
- Create a new model that inherits from one of django-treebeard's abstract tree models: mp_tree.MP_Node (materialized path), ns_tree.NS_Node (nested sets) or al_tree.AL_Node (adjacency list).
- Run python manage.py syncdb
You can find the documentation in