django-treebeard
================
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:
1. Run `easy_install django-treebeard` to install the
latest treebeard version from PyPi
1.1. If you don't like easy_install, download a release from the
treebeard download page or get a development version
from the treebeard mercurial repository and run
`python setup.py install`
2. Add 'treebeard' to the `INSTALLED_APPS` section in your django
settings file.
3. 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).
4. Run `python manage.py syncdb`
5. (Optional) If you are going to use the `admin.TreeAdmin`
class for the django admin, you should install treebeard as a
directory instead of an egg:
`easy_install --always-unzip django-treebeard`.
If you install treebeard as an egg, you'll need to enable
`django.template.loaders.eggs.load_template_source` in the
`TEMPLATE_LOADERS` setting in your django settings file.
Either way, you need to add the path (filesystem or python
namespace) to treebeard's templates in `TEMPLATE_DIRS`.
You can find the documentation in
http://docs.tabo.pe/django-treebeard/tip/