Also for all your tree related needs there is Django Treebeard: https://tabo.pe/projects/django-treebeard/
On Thu, Oct 7, 2010 at 2:51 AM, Cesar Canassa <cesar.cana...@gmail.com> wrote: > I had the same issue a few months ago. > My only answer to you is that is not worth to develop this all for self. > There is a great django library called django-mptt that does all the heavy > lifting for you. It's very fast, has many helper functions and even admin > integration! I suggest that you check it out. > Regards, > Cesar Canassa > > 2010/10/6 Paweł Roman <romapa...@googlemail.com> >> >> Yuck, in_bulk() is useless! I thought it would return a nice >> dictionary just as expected, but instead it makes me deliver a list of >> keys first. Why? >> >> Eventually I wrote something more usable: >> >> mydict = {} >> for model in MyModel.objects.all().iterator(): >> mydict[model.id]=model >> >> Correct me if I'm wrong but this is hundred times more useful than >> current in_bulk() implementation. >> >> >> On Oct 6, 5:31 pm, Paweł Roman <romapa...@googlemail.com> wrote: >> > OK, I've got it. It's in_bulk() :) Nevermind the question. >> > >> > On Oct 6, 5:27 pm, Paweł Roman <romapa...@googlemail.com> wrote: >> > >> > > I have a model which has a tree-like structure (not exactly a FK on >> > > self but we can assume that's the case). >> > >> > > I want to visualise this tree using all records from the db. It seems >> > > impossible to do with QuerySet, if I have say 100 records (100 nodes >> > > in the tree) and I try building the tree recursively django will >> > > execute a SELECT for each node so it will hit the db 100 times to >> > > build the tree. >> > >> > > I thought I could pull the data in one query using objects.all() and >> > > then build the whole tree by iterating objects in memory. But again, >> > > the structures returned by QuerySet are not the best for this purpose. >> > > I can get either list of dictionaries or list of tuples. No >> > > dictionary! So, to get a list of child nodes for each node I'd have to >> > > iterate thru the whole collection which is not efficient at all. I >> > > can't find a way to immediately lookup already fetched records by id! >> > >> > > Am I missing something? Iterating tree-like data structures seems >> > > something quite common problem and someone must have done it already >> > > with django. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To post to this group, send email to django-us...@googlegroups.com. >> To unsubscribe from this group, send email to >> django-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/django-users?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-us...@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.