django-polymorphic-tree

In other words, this module provides a node tree, where each node can be a different model type.
This allows you to freely structure tree data. For example:

Build a tree of a root node, category nodes, leaf nodes, each with custom fields.

Build a todo list of projects, categories and items.

Build a book of chapters, sections, and pages.

Origin

This module was extracted out of django-fluent-pages because it turned out to serve a generic purpose.
This was done during contract work at Leukeleu (also known for their involvement in django-fiber).