5 ms·
Treebeard — Efficient tree model implementations for Django
- teilo 17y agoI use this. It's a great alternative to django-mptt. Lighter-weight and faster. If you are using Django-mptt, you can migrate your Model to a Treebeard ns_tree simply be renaming two fields. There are no bundled tag libraries or forms in Treebeard, so you will have to re-invent the wheel here. However, the django-mptt tags was broken anyway. It didn't provide enough info to create a proper nested, unordered list. Also, the mptt MoveNodeForm works in Treebeard with just a couple tweaks.
- tabo 17y agoIf you need treebeard's nested sets with form/admin helpers, try django-easytree (a treebeard fork): http://bitbucket.org/fivethreeo/django-easytree/ http://bitbucket.org/fivethreeo/django-easytree/ I'll work on adding stuff from easytree into treebeard as soon as I get some time (I'm the author of treebeard).
- teilo 17y agoWell, I already wrote my own form/admin helpers. (Wanna see them? Email me at martin at diers dot us.) What I'm trying to do now is do an integration with jsTree, so that I can do drag-and-drop reordering of my CMS pages in the Admin. As it is now, I have a MoveNodeForm showing up in the Admin's change list for each row, and I created a modified version of the result_list tag to enforce tree order (since you can't sort by two columns in the Django Admin), and pad the object names with spaces to represent the tree structure visually. It works, but it's hokey.
- stuff4ben 17y agoNice library, as a Java developer it's one more thing I'm jealous of. Anyways, reading through the api documentation, he references three types of trees: Materialized Path, Adjacency List, and Nested Sets and the following books, http://www.elsevier.com/wps/find/bookdescription.cws_home/702605/description http://www.elsevier.com/wps/find/bookdescription.cws_home/70... and http://www.rampant-books.com/book_0601_sql_coding_styles.htm http://www.rampant-books.com/book_0601_sql_coding_styles.htm. Wonder if it would be feasible to re-implement in Java?