Re: Avoid unbounded memory consumption when running `manage.py test`
Hi Matt, On Thursday, August 1, 2013 12:08:23 AM UTC+2, Matt McClure wrote: > > Is the ultimate upstream the CPython repository now? Or a separate > unittest2 repository? For Python >= 2.7 it should be CPython; for everything below the separate unittest2 repository. -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at http://groups.google.com/group/django-developers. For more options, visit https://groups.google.com/groups/opt_out.
Re: Support Negative Indexing on QuerySets
On Wed, Jul 31, 2013 at 7:39 PM, Loic Bistuer wrote: > In your example "print qs[0]" evaluates a *clone* of "qs", not "qs" itself. > > Therefore "qs[0]; qs[-1]; qs[0]" triggers 3 queries, just like "qs[0]; qs[0]; > qs[0]" would. > Fine, be pedantic: qs = ... print len(qs) print qs[0] print qs[0] This is one query. qs = ... print len(qs) print qs[0] print qs[-1] print qs[0] How many queries for this? -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at http://groups.google.com/group/django-developers. For more options, visit https://groups.google.com/groups/opt_out.
Re: Support Negative Indexing on QuerySets
On Aug 1, 2013, at 4:05 PM, Tom Evans wrote: > qs = ... > print len(qs) > print qs[0] > print qs[-1] > print qs[0] > > How many queries for this? Just one and "qs[-1]" will return the last element of the cached result. I'm not trying to be pedantic, I'm just pointing out that a queryset becomes a different beast once it has been evaluated; it's basically a simple list of cached result. -- Loic -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at http://groups.google.com/group/django-developers. For more options, visit https://groups.google.com/groups/opt_out.
Re: Support Negative Indexing on QuerySets
On Thu, Aug 1, 2013 at 10:44 AM, Loic Bistuer wrote: > On Aug 1, 2013, at 4:05 PM, Tom Evans wrote: > >> qs = ... >> print len(qs) >> print qs[0] >> print qs[-1] >> print qs[0] >> >> How many queries for this? > > Just one and "qs[-1]" will return the last element of the cached result. > > I'm not trying to be pedantic, I'm just pointing out that a queryset becomes > a different beast once it has been evaluated; it's basically a simple list of > cached result. Yes you are right, I was mistaken in thinking that indexing would evaluate the queryset if not evaluated - I think it should tbh, equating qs[10] to either qs[10:11].get() or object_cache[10] does not seem right, but impossible to change existing accepted behaviour. I do not like that the behaviour of qs[10] changes whether the qs is evaluated or not, or that iterating through a queryset by index could be woefully slow unless the developer explicitly evaluates the queryset beforehand - and if you're a developer who thinks that it is right to iterate through a queryset using an index, you probably would not be aware of the need to evaluate it first. Cheers Tom -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at http://groups.google.com/group/django-developers. For more options, visit https://groups.google.com/groups/opt_out.