Because count executes subquery.
--
Ticket URL: <https://code.djangoproject.com/ticket/29668>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Comment (by pranavneeraj):
Version is 1.9.
--
Ticket URL: <https://code.djangoproject.com/ticket/29668#comment:1>
* component: Uncategorized => Database layer (models, ORM)
--
Ticket URL: <https://code.djangoproject.com/ticket/29668#comment:2>
* severity: Normal => Release blocker
--
Ticket URL: <https://code.djangoproject.com/ticket/29668#comment:3>
* cc: felixxm (added)
* severity: Release blocker => Normal
Comment:
I wouldn't mark this as a release blocker if it is there since Django 1.9.
Have you confirmed that issue appears in the supported versions e.g. 2.0
or 2.1?
--
Ticket URL: <https://code.djangoproject.com/ticket/29668#comment:4>
* status: new => closed
* resolution: => invalid
Old description:
> Turn.active_objects.all().select_related('request__address').extra(select={'start_time_tz':
> '(start_time AT TIME ZONE COALESCE("api_address".timezone))'}).distinct()
> Works but
> Turn.active_objects.all().select_related('request__address').extra(select={'start_time_tz':
> '(start_time AT TIME ZONE
> COALESCE("api_address".timezone))'}).distinct().count() doesn't.
>
> Because count executes subquery.
New description:
`Turn.active_objects.all().select_related('request__address').extra(select={'start_time_tz':
'(start_time AT TIME ZONE COALESCE("api_address".timezone))'}).distinct()`
Works but
`Turn.active_objects.all().select_related('request__address').extra(select={'start_time_tz':
'(start_time AT TIME ZONE
COALESCE("api_address".timezone))'}).distinct().count()` doesn't.
Because count executes subquery.
--
Comment:
Even if it's still an issue, we're no longer fixing bugs with
`QuerySet.extra()` per [https://groups.google.com/d/topic/django-
developers/FojuU0syO8Y/discussion discussion on django-developers].
--
Ticket URL: <https://code.djangoproject.com/ticket/29668#comment:5>