Home Live demos tree
django-icv-tree stores hierarchies as materialised paths: every node knows its full ancestry in one indexed column. Below is the real ICV capability hierarchy, not sample data: expand a category, follow the breadcrumb, list every descendant of any node.
Capability tree (root: ICV OSS)
Click a name to select it. Click the triangle to expand or collapse its children.
Ancestors of django-boundary
get_ancestors(include_self=True), one query
Descendants of “django-boundary”
django-boundary is a leaf (is_leaf() = true). No descendants to list; this is the correct, expected result for a package node, not a failed query.
path column is a prefix-indexed string (e.g. 0001/0002/0001). Ancestors and descendants are WHERE path LIKE prefix lookups, not recursive CTEs or nested-set left/right rebalancing on every write.
Both links below are built the same way, a plain url template tag with no host handling. hostmap decides, per call, whether the result stays relative or becomes absolute.
Host-based URL routing and host-aware reversing.
Materialised path tree structures.
Cross-domain taxonomy, vocabularies, and tagging.
Pluggable search engine integration.
Scalable sitemap and discovery file generation.
A brand-agnostic UI substrate: shell, nav, components.