#16735: Queryset values should be aliasable
-------------------------------------+-------------------------------------
     Reporter:  alex.latchford@…     |                    Owner:  nate_b
         Type:  New feature          |                   Status:  assigned
    Component:  Database layer       |                  Version:  1.3
  (models, ORM)                      |               Resolution:
     Severity:  Normal               |             Triage Stage:  Design
     Keywords:  queryset, alias,     |  decision needed
  values                             |      Needs documentation:  0
    Has patch:  1                    |  Patch needs improvement:  1
  Needs tests:  0                    |                    UI/UX:  0
Easy pickings:  0                    |
-------------------------------------+-------------------------------------

Comment (by akaariai):

 What is the rationale of doing this for values_list()? If I am not
 mistaken, you will get a list back anyways. So the aliases are used for
 what?

 The .annotate() + values_list() seems to be a bug. Basically, multiple
 annotates in one .annotate() call have indeterminate order, which results
 in indeterminate order in the values_list(). I bet some users will be hit
 if/when Python randomizes the hashing algorithm. So, indeterminate order
 is not good. Unfortunately I don't see a fix other than disallowing
 multiple annotates in one call. Which is backwards incompatible.

 In addition, some benchmark that this doesn't slow down fetching large
 sets of objects from the DB is needed. .values() is mostly an
 optimization, so it should remain as fast as possible. Maybe django-bench
 contains some benchmark already?

-- 
Ticket URL: <https://code.djangoproject.com/ticket/16735#comment:5>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to