Re: [Django] #36686: Clarify the behavior difference between order_by() and Meta.ordering in GROUP BY queries

16 views
Skip to first unread message

Django

unread,
Oct 24, 2025, 5:26:10 PM10/24/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: (none)
Type: Bug | Status: new
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Jacob Walls):

I just happened to bump into this
[https://docs.djangoproject.com/en/5.2/ref/models/querysets/#:~:text=default%20model
additional language]:

> Similarly, if you use a values() query to restrict the columns selected,
the columns used in any order_by() (or default model ordering) will still
be involved and may affect uniqueness of the results.

Might want to clarify that one also?
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:3>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Oct 24, 2025, 8:22:09 PM10/24/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* type: Bug => Cleanup/optimization

--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:4>

Django

unread,
Oct 25, 2025, 4:16:28 AM10/25/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Varun Kasyap Pentamaraju):

* cc: Varun Kasyap Pentamaraju (added)
* owner: (none) => Varun Kasyap Pentamaraju
* status: new => assigned

Comment:

I would like to work on this and raise PR, Thanks
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:5>

Django

unread,
Oct 25, 2025, 10:06:56 AM10/25/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Varun Kasyap Pentamaraju):

* has_patch: 0 => 1

Comment:

created PR https://github.com/django/django/pull/20001/
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:6>

Django

unread,
Oct 29, 2025, 10:43:05 AM10/29/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Wouter):

The patches look okay to me.
What still is difficult to grasp is why order_by 'always' works if applied
explicitly, but using ordering does not.
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:7>

Django

unread,
Oct 29, 2025, 11:49:34 AM10/29/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:8>

Django

unread,
Oct 31, 2025, 10:13:44 AM10/31/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Varun Kasyap Pentamaraju):

* needs_better_patch: 1 => 0

Comment:

1)Changed from "or" to "and"
2)Used admonition instead of note
3)Better English
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:9>

Django

unread,
Oct 31, 2025, 11:56:45 AM10/31/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:10>

Django

unread,
Oct 31, 2025, 12:49:44 PM10/31/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Varun Kasyap Pentamaraju):

* needs_better_patch: 1 => 0

Comment:

1) reversed order of values() and annotate()
2) reverted querysets
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:11>

Django

unread,
Oct 31, 2025, 1:16:18 PM10/31/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Ready for
order_by, ordering | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:12>

Django

unread,
Nov 13, 2025, 9:13:49 AM11/13/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Accepted
order_by, ordering |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 0 => 1
* stage: Ready for checkin => Accepted

--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:13>

Django

unread,
Nov 13, 2025, 9:58:14 AM11/13/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: assigned
Component: Documentation | Version: 5.2
Severity: Normal | Resolution:
Keywords: aggregate, | Triage Stage: Ready for
order_by, ordering | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 1 => 0
* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:14>

Django

unread,
Nov 13, 2025, 11:18:13 AM11/13/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: closed
Component: Documentation | Version: 5.2
Severity: Normal | Resolution: fixed
Keywords: aggregate, | Triage Stage: Ready for
order_by, ordering | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls <jacobtylerwalls@…>):

* resolution: => fixed
* status: assigned => closed

Comment:

In [changeset:"7e765a68598b2b798e49bf1f4b431a7bcac085a4" 7e765a6]:
{{{#!CommitTicketReference repository=""
revision="7e765a68598b2b798e49bf1f4b431a7bcac085a4"
Fixed #36686 -- Clarified Meta.ordering is ignored in GROUP BY queries.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:15>

Django

unread,
Nov 13, 2025, 11:19:24 AM11/13/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: closed
Component: Documentation | Version: 5.2
Severity: Normal | Resolution: fixed
Keywords: aggregate, | Triage Stage: Ready for
order_by, ordering | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Jacob Walls <jacobtylerwalls@…>):

In [changeset:"37b5dced864f0d9e1ac2c1e3ca58a947ee850c71" 37b5dced]:
{{{#!CommitTicketReference repository=""
revision="37b5dced864f0d9e1ac2c1e3ca58a947ee850c71"
[6.0.x] Fixed #36686 -- Clarified Meta.ordering is ignored in GROUP BY
queries.

Backport of 7e765a68598b2b798e49bf1f4b431a7bcac085a4 from main.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:16>

Django

unread,
Nov 13, 2025, 11:19:48 AM11/13/25
to django-...@googlegroups.com
#36686: Clarify the behavior difference between order_by() and Meta.ordering in
GROUP BY queries
-------------------------------------+-------------------------------------
Reporter: Wouter | Owner: Varun
Type: | Kasyap Pentamaraju
Cleanup/optimization | Status: closed
Component: Documentation | Version: 5.2
Severity: Normal | Resolution: fixed
Keywords: aggregate, | Triage Stage: Ready for
order_by, ordering | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Jacob Walls <jacobtylerwalls@…>):

In [changeset:"edec3e59a33ae4f456194c29630fd601213eee2f" edec3e59]:
{{{#!CommitTicketReference repository=""
revision="edec3e59a33ae4f456194c29630fd601213eee2f"
[5.2.x] Fixed #36686 -- Clarified Meta.ordering is ignored in GROUP BY
queries.

Backport of 7e765a68598b2b798e49bf1f4b431a7bcac085a4 from main.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36686#comment:17>
Reply all
Reply to author
Forward
0 new messages