#26019: Incorrect query generated when combining querysets refering to different
fields under the same alias.
-------------------------------------+-------------------------------------
     Reporter:  mssnlayam            |                    Owner:  nobody
         Type:  Bug                  |                   Status:  new
    Component:  Database layer       |                  Version:  master
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:
     Keywords:                       |             Triage Stage:  Accepted
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by charettes):

 * version:  1.9 => master
 * stage:  Unreviewed => Accepted


Comment:

 I changed the title to reflect what I think is the actual issue.

 If we could use kwargs to specify aliases (#16735) the issue could be
 expressed by the following query combination:

 {{{#!python
 User.object.values(name='first_name') |
 User.objects.values(name='last_name')
 }}}

 Still considering this a bug because a `TypeError` should be raised in
 
[https://github.com/django/django/blob/df3d5b1d73699b323aac377dffab039dca26c1e4/django/db/models/query.py#L1093-L1102
 Query._merge_sanity_checks] to warn the user about this case.

 Once we land this bug fix we should consider reorienting this ticket as a
 ''feature request'' to teach the ORM it should use `UNION ALL` in such
 case.

 {{{#!sql
 SELECT "auth_user"."first_name" AS "name" FROM "auth_user"
 UNION ALL
 SELECT "auth_user"."last_name" AS "name FROM "auth_user"
 }}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26019#comment:4>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.ac9cf554b305da644cd7254b9d69d8e7%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to