#31136: Multiple annotations with Exists() should not group by aliases.
-------------------------------------+-------------------------------------
     Reporter:  Sigurd Ljødal        |                    Owner:  felixxm
         Type:  Bug                  |                   Status:  closed
    Component:  Database layer       |                  Version:  3.0
  (models, ORM)                      |
     Severity:  Release blocker      |               Resolution:  fixed
     Keywords:                       |             Triage Stage:  Ready for
                                     |  checkin
    Has patch:  1                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by Jon Dufresne):

 * cc: jon.dufresne@… (added)


Comment:

 Commit a24686987f21fe6b5339cc13607c13fa906f81a8 causes a regression for my
 application. I'll try to pin down a minimal example but for now, here is
 the backtrace:

 {{{
 Traceback (most recent call last):
   <MY APP>
   File ".../django/db/models/query.py", line 276, in __iter__
     self._fetch_all()
   File ".../django/db/models/query.py", line 1261, in _fetch_all
     self._result_cache = list(self._iterable_class(self))
   File ".../django/db/models/query.py", line 184, in __iter__
     for row in compiler.results_iter(chunked_fetch=self.chunked_fetch,
 chunk_size=self.chunk_size):
   File ".../django/db/models/sql/compiler.py", line 1096, in results_iter
     results = self.execute_sql(MULTI, chunked_fetch=chunked_fetch,
 chunk_size=chunk_size)
   File ".../django/db/models/sql/compiler.py", line 1144, in execute_sql
     cursor.execute(sql, params)
   File ".../django/db/backends/utils.py", line 68, in execute
     return self._execute_with_wrappers(sql, params, many=False,
 executor=self._execute)
   File ".../django/db/backends/utils.py", line 77, in
 _execute_with_wrappers
     return executor(sql, params, many, context)
   File ".../django/db/backends/utils.py", line 86, in _execute
     return self.cursor.execute(sql, params)
   File ".../django/db/utils.py", line 90, in __exit__
     raise dj_exc_value.with_traceback(traceback) from exc_value
   File ".../django/db/backends/utils.py", line 86, in _execute
     return self.cursor.execute(sql, params)
 django.db.utils.ProgrammingError: column "myapp_mymodel.myfield" must
 appear in the GROUP BY clause or be used in an aggregate function
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/31136#comment:12>
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 django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.192673e7f332fd98551964356375cba7%40djangoproject.com.

Reply via email to