[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: