Bug#1055850: ITP: python-django-tree-queries -- Adjacency-list trees for Django
Package: wnpp
Severity: wishlist
Owner: Michael Fladischer <michael@fladi.at>
X-Debbugs-Cc: debian-devel@lists.debian.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
* Package name : python-django-tree-queries
Version : 0.15
Upstream Contact: Matthias Kestenholz <mk@feinheit.ch>
* URL : https://github.com/feincms/django-tree-queries
* License : BSD-3-clause
Programming Lang: Python
Description : Adjacency-list trees for Django
Query Django model trees using adjacency lists and recursive common table
expressions. Supports PostgreSQL, sqlite3 and MariaDB and MySQL.
.
Features and limitations:
* Supports only integer and UUID primary keys (for now).
* Allows specifying ordering among siblings.
* Uses the correct definition of depth, where root nodes have a depth of
zero.
* The parent foreign key must be named "parent" at the moment.
* The fields added by the common table expression always are tree_depth,
tree_path and tree_ordering. The names cannot be changed. tree_depth is an
integer, tree_path an array of primary keys and tree_ordering an array of
values used for ordering nodes within their siblings.
* Besides adding the fields mentioned above the package only adds queryset
methods for ordering siblings and filtering ancestors and descendants.
* Little code, and relatively simple when compared to other tree management
solutions for Django. No redundant values so the only way to end up with
corrupt data is by introducing a loop in the tree structure (making it a
graph). The TreeNode abstract model class has some protection against this.
* Supports only trees with max. 50 levels on MySQL/MariaDB, since those
databases do not support arrays and require a maximum length for the
tree_path and tree_ordering upfront.
This is a dependency for django-content-editor and I will maintain it as part of
the DPT.
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCgA5FiEEqVSlRXW87UkkCnJc/9PIi5l90WoFAmVRCg0bHGZsYWRpc2No
ZXJtaWNoYWVsQGZsYWRpLmF0AAoJEP/TyIuZfdFqExoH/3X/gCg2xKOY6q8rJ3aB
+EA+MWwIZFgFmgYPTmO3HOF8u/2HCT8rYZ9WNGgJjjVyeC2ozezNFJaLHN3qEljj
rdCJ7wG6/qgSnH5W+olk99r9ZXFeifMa2D7zDE6cd0LMSYX1WUlMIy+Ywpi10Jmz
kJ+iBzGdH97kGIP5o5T4cR2+UfHIgv1Xf9qyTjPBHTQ94672Re1jYOms5T1QuDTg
Z+Tfaz8gQriCVaZJCxK2nytMzXk8slFMiS5qKWi1iTii2PORY7xhosy9iZvdqGqv
VwRgE8wPzDVgjB5xP83vuIUbTRzEnZ4bbUlOYZWEXq/4MdH7iRQgh30ZNlMlsg9K
ZwY=
=l/cw
-----END PGP SIGNATURE-----
Reply to: