An implementation for SQLAlchemy-based applications of the nested-sets/modified-pre-order-tree-traversal technique for storing hierarchical data in a relational database.
Python Makefile
Latest commit 78430a7 Aug 26, 2015 @maaku maaku Merge pull request #30 from miracle2k/insert-root
Fix inserting new nodes at root level.

README.rst

https://travis-ci.org/monetizeio/sqlalchemy-orm-tree.png?branch=master https://badge.fury.io/py/SQLAlchemy-ORM-tree.png https://coveralls.io/repos/monetizeio/sqlalchemy-orm-tree/badge.png?branch=master

SQLAlchemy-ORM-tree

An implementation for SQLAlchemy-based applications of the nested-sets / modified-pre-order-tree-traversal technique for storing hierarchical data in a relational database.

Python support Python 2.6+, 3.3+
SQLAlchemy SQLAlchemy >=0.7.5, >=0.8, >=0.9
Source https://github.com/monetizeio/sqlalchemy-orm-tree
Issues https://github.com/monetizeio/sqlalchemy-orm-tree/issues
Docs https://sqlalchemy-orm-tree.readthedocs.org/
API https://sqlalchemy-orm-tree.readthedocs.org/api.html
Travis http://travis-ci.org/monetizeio/sqlalchemy-orm-tree
Test coverage https://coveralls.io/r/monetizeio/sqlalchemy-orm-tree
pypi https://pypi.python.org/pypi/sqlalchemy-orm-tree
ohloh http://www.ohloh.net/p/sqlalchemy-orm-tree
License BSD.
git repo
$ git clone https://github.com/monetizeio/sqlalchemy-orm-tree.git
install
$ pip install sqlalchemy-orm-tree
install dev
$ git clone https://github.com/monetizeio/sqlalchemy-orm-tree.git sqlalchemy-orm-tree
$ cd ./sqlalchemy-orm-tree
$ virtualenv .env
$ source .env/bin/activate
$ pip install -e .
tests
$ python setup.py test

Simple Example

import sqlalchemy_tree
Model = declarative_base(metaclass=sqlalchemy_tree.DeclarativeMeta)

class Page(Model):

    # This activates sqlalchemy-orm-tree.
    __tree_manager__ = 'tree'

Page.tree.register()