Re: [Django] #34012: QuerySet.order_by() silently skips non-existing fields on related fields with Meta.ordering.

10 views
Skip to first unread message

Django

unread,
Sep 19, 2022, 4:48:17 AM9/19/22
to django-...@googlegroups.com
#34012: QuerySet.order_by() silently skips non-existing fields on related fields
with Meta.ordering.
-------------------------------------+-------------------------------------
Reporter: Klaas van Schelven | Owner: David
Type: | Sanders
Cleanup/optimization | Status: assigned
Component: Database layer | Version: 4.1
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_better_patch: 0 => 1


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

Django

unread,
Sep 22, 2022, 6:56:04 AM9/22/22
to django-...@googlegroups.com
#34012: QuerySet.order_by() silently skips non-existing fields on related fields
with Meta.ordering.
-------------------------------------+-------------------------------------
Reporter: Klaas van Schelven | Owner: David
Type: | Sanders
Cleanup/optimization | Status: assigned
Component: Database layer | Version: 4.1
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by GitHub <noreply@…>):

In [changeset:"37a13cc92d51d5a57b42240b9a5dd250648efa24" 37a13cc9]:
{{{
#!CommitTicketReference repository=""
revision="37a13cc92d51d5a57b42240b9a5dd250648efa24"
Refs #34012 -- Added test for ordering by transform of related fields.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/34012#comment:9>

Django

unread,
Oct 3, 2022, 11:52:47 PM10/3/22
to django-...@googlegroups.com
#34012: QuerySet.order_by() silently skips non-existing fields on related fields
with Meta.ordering.
-------------------------------------+-------------------------------------
Reporter: Klaas van Schelven | Owner: David
Type: | Sanders
Cleanup/optimization | Status: assigned
Component: Database layer | Version: 4.1
(models, ORM) |
Severity: Normal | Resolution:
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 Mariusz Felisiak):

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


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

Django

unread,
Oct 4, 2022, 2:50:23 AM10/4/22
to django-...@googlegroups.com
#34012: QuerySet.order_by() silently skips non-existing fields on related fields
with Meta.ordering.
-------------------------------------+-------------------------------------
Reporter: Klaas van Schelven | Owner: David
Type: | Sanders
Cleanup/optimization | Status: closed

Component: Database layer | Version: 4.1
(models, ORM) |
Severity: Normal | 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 Mariusz Felisiak <felisiak.mariusz@…>):

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


Comment:

In [changeset:"4771a1694b3b54c7309602820881d3ec9cc2c809" 4771a169]:
{{{
#!CommitTicketReference repository=""
revision="4771a1694b3b54c7309602820881d3ec9cc2c809"
Fixed #34012 -- Made QuerySet.order_by() apply transforms on related
fields for models with Meta.ordering.

This makes QuerySet.order_by() no longer ignore trailing transforms for
models with Meta.ordering. As a consequence, FieldError is raised in
such cases for non-existent fields.

Thanks to Klaas van Schelven for the report and Mariusz Felisiak for the
review and advice.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/34012#comment:11>

Reply all
Reply to author
Forward
0 new messages