[Django] #28722: reverse_ordering does not reverse nulls_first/nulls_last

4 views
Skip to first unread message

Django

unread,
Oct 18, 2017, 8:46:08 AM10/18/17
to django-...@googlegroups.com
#28722: reverse_ordering does not reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------
Reporter: Tomer | Owner: Tomer Chachamu
Chachamu |
Type: Bug | Status: assigned
Component: Database | Version: 1.11
layer (models, ORM) |
Severity: Normal | Keywords:
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
The documentation for Expression.reverse_ordering says it is its own
inverse:

https://docs.djangoproject.com/en/1.11/ref/models/expressions/#django.db.models.Expression.reverse_ordering

> Returns self with any modifications required to reverse the sort order
within an order_by call. As an example, an expression implementing NULLS
LAST would change its value to be NULLS FIRST. Modifications are only
required for expressions that implement sort order like OrderBy. This
method is called when reverse() is called on a queryset.

However, this isn't implemented.
https://github.com/django/django/blob/2b5a511bd9fbd67cedf72b8d39b9522c0140d023/django/db/models/expressions.py#L1133

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

Django

unread,
Oct 18, 2017, 9:33:05 AM10/18/17
to django-...@googlegroups.com
#28722: reverse_ordering does not reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------
Reporter: Tomer Chachamu | Owner: Tomer

| Chachamu
Type: Bug | Status: assigned
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tomer Chachamu):

* has_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/28722#comment:1>

Django

unread,
Oct 18, 2017, 9:35:08 AM10/18/17
to django-...@googlegroups.com
#28722: reverse_ordering does not reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------
Reporter: Tomer Chachamu | Owner: (none)
Type: Bug | Status: new

Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tomer Chachamu):

* status: assigned => new
* owner: Tomer Chachamu => (none)


--
Ticket URL: <https://code.djangoproject.com/ticket/28722#comment:2>

Django

unread,
Oct 18, 2017, 10:47:30 AM10/18/17
to django-...@googlegroups.com
#28722: QuerySet.reverse() doesn't reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------

Reporter: Tomer Chachamu | Owner: (none)
Type: Bug | Status: new
Component: Database layer | Version: 1.11
(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 Tim Graham):

* needs_better_patch: 0 => 1
* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/28722#comment:3>

Django

unread,
Oct 21, 2017, 3:19:00 PM10/21/17
to django-...@googlegroups.com
#28722: QuerySet.reverse() doesn't reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------

Reporter: Tomer Chachamu | Owner: (none)
Type: Bug | Status: new
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tomer Chachamu):

* needs_better_patch: 1 => 0
* stage: Accepted => Unreviewed


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

Django

unread,
Oct 21, 2017, 3:19:27 PM10/21/17
to django-...@googlegroups.com
#28722: QuerySet.reverse() doesn't reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------

Reporter: Tomer Chachamu | Owner: (none)
Type: Bug | Status: new
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tomer Chachamu):

* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/28722#comment:5>

Django

unread,
Oct 21, 2017, 9:23:36 PM10/21/17
to django-...@googlegroups.com
#28722: QuerySet.reverse() doesn't reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------
Reporter: Tomer Chachamu | Owner: Tim
| Graham <timograham@…>
Type: Bug | Status: closed

Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Graham <timograham@…>):

* owner: (none) => Tim Graham <timograham@…>
* status: new => closed
* resolution: => fixed


Comment:

In [changeset:"21a3a29dc9d138c248fd7922923b3ec710735c6c" 21a3a29d]:
{{{
#!CommitTicketReference repository=""
revision="21a3a29dc9d138c248fd7922923b3ec710735c6c"
Fixed #28722 -- Made QuerySet.reverse() affect nulls_first/nulls_last.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/28722#comment:6>

Django

unread,
Oct 21, 2017, 9:23:56 PM10/21/17
to django-...@googlegroups.com
#28722: QuerySet.reverse() doesn't reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------

Reporter: Tomer Chachamu | Owner: Tim
| Graham <timograham@…>
Type: Bug | Status: closed
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"57d46606edd29880e7852a9ee86a77a96f4d0b3a" 57d46606]:
{{{
#!CommitTicketReference repository=""
revision="57d46606edd29880e7852a9ee86a77a96f4d0b3a"
[2.0.x] Fixed #28722 -- Made QuerySet.reverse() affect
nulls_first/nulls_last.

Backport of 21a3a29dc9d138c248fd7922923b3ec710735c6c from master
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/28722#comment:7>

Django

unread,
Oct 21, 2017, 9:24:02 PM10/21/17
to django-...@googlegroups.com
#28722: QuerySet.reverse() doesn't reverse nulls_first/nulls_last
-------------------------------------+-------------------------------------

Reporter: Tomer Chachamu | Owner: Tim
| Graham <timograham@…>
Type: Bug | Status: closed
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"e98ae4fe6bc1baa402b10bc379d2e96b79bbb3b0" e98ae4f]:
{{{
#!CommitTicketReference repository=""
revision="e98ae4fe6bc1baa402b10bc379d2e96b79bbb3b0"
[1.11.x] Fixed #28722 -- Made QuerySet.reverse() affect
nulls_first/nulls_last.

Backport of 21a3a29dc9d138c248fd7922923b3ec710735c6c from master
}}}

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

Reply all
Reply to author
Forward
0 new messages