I was optimizing my django app and ran into this. My app was spending too much time cloning querysets. I looked into code but didn't find any simple way to make it faster. But this is not needed actually. In most use cases "a parent" of a clone is thrown out. So usually one just need to mutate queryset not clone it.
For example: Item.objects.filter(category=12).exclude(visible=False).order_by('- date')[:20] clones 4 times and 0 is needed. Using Q objects we can reduce it to 3 (still too much) and complicate the code. Even Item.objects.get(pk=2) clones 2 times. Personally, I would like all querysets mutate not clone by default. And when one need a clone just make it explicitly. -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.