[Django] #21450: BaseYearArchiveView prevent ordering of queryset

22 views
Skip to first unread message

Django

unread,
Nov 16, 2013, 10:51:39 AM11/16/13
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: new
Type: Bug | Version: 1.5
Component: Generic views | Keywords: BaseYearArchiveView
Severity: Normal | filtering
Triage Stage: Unreviewed | Has patch: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
In BaseYearArchiveView, the get_dated_items calls the get_dated_queryset
with an extra parameter '''ordering="-%s"''' : qs =
self.get_dated_queryset(ordering='-%s' % date_field, * * lookup_kwargs)

This behavior is not the same as in BaseMonthArchiveView (which do qs =
self.get_dated_queryset(* * lookup_kwargs))
and prevents from using custom filtering in get_queryset.

Could you please remove the extra ordering="-%s" in the
BaseYearArchiveView and let the user handle the filtering?

Thanks a lot

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

Django

unread,
Nov 16, 2013, 11:09:45 AM11/16/13
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: new
Type: Bug | Version: 1.5
Component: Generic views | Resolution:
Severity: Normal | Triage Stage:
Keywords: BaseYearArchiveView | Unreviewed
filtering | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by Thibault Serot <thibserot@…>):

* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0


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

Django

unread,
Nov 16, 2013, 2:04:58 PM11/16/13
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: new
Type: Bug | Version: 1.5
Component: Generic views | Resolution:
Severity: Normal | Triage Stage:
Keywords: BaseYearArchiveView | Unreviewed
filtering | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by Thibault Serot <thibserot@…>):

Hello,
I actually see that there is also a default filtering + ordering in
BaseArchiveIndexView:


qs = self.get_dated_queryset(ordering='-%s' %

self.get_date_field())
date_list = self.get_date_list(qs, ordering='DESC')
Should be replaced by:
qs = self.get_dated_queryset()
date_list = self.get_date_list()

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

Django

unread,
Nov 24, 2013, 7:15:38 PM11/24/13
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: new
Type: Bug | Version: 1.5
Component: Generic views | Resolution:
Severity: Normal | Triage Stage:
Keywords: BaseYearArchiveView | Unreviewed
filtering | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by timo):

Is the current behavior documented? I see some
[https://docs.djangoproject.com/en/1.6/ref/class-based-views/generic-date-
based/ references to ordering in the docs]. Would this be a backwards
incompatible change for people relying on the current behavior? If we can
call it a bug, we may be able to change it (and sooner rather than later
would be best). Can you submit a patch with a test that demonstrates the
new functionality that we'd be adding?

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

Django

unread,
Dec 2, 2013, 10:13:35 AM12/2/13
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: new
Type: Bug | Version: 1.5
Component: Generic views | Resolution:
Severity: Normal | Triage Stage:
Keywords: BaseYearArchiveView | Unreviewed
filtering | Needs documentation: 0
Has patch: 1 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by aaugustin):

#18355 looks related.

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

Django

unread,
Dec 5, 2013, 8:49:36 AM12/5/13
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: new
Type: | Version: 1.5
Cleanup/optimization | Resolution:
Component: Generic views | Triage Stage: Accepted
Severity: Normal | Needs documentation: 0
Keywords: BaseYearArchiveView | Patch needs improvement: 0
filtering | UI/UX: 0
Has patch: 0 |
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by timo):

* has_patch: 1 => 0
* type: Bug => Cleanup/optimization
* stage: Unreviewed => Accepted


Comment:

Accepting on the basis of the problem, not sure about the proposed
solution at this point.

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

Django

unread,
Dec 19, 2013, 4:32:09 AM12/19/13
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: new
Type: | Version: 1.5
Cleanup/optimization | Resolution:
Component: Generic views | Triage Stage: Accepted
Severity: Normal | Needs documentation: 0
Keywords: BaseYearArchiveView | Patch needs improvement: 0
filtering | UI/UX: 0
Has patch: 0 |
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------

Comment (by pjrharley):

Replying to [comment:4 aaugustin]:
> #18355 looks related.

I've added a PR there. I think it looks like it might close this ticket
too if accepted. By default the behaviour is the same but the user can now
easily use custom filtering (without overriding get_queryset either).

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

Django

unread,
Aug 15, 2014, 11:10:33 AM8/15/14
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: new
Type: | Version: 1.5
Cleanup/optimization | Resolution:
Component: Generic views | Triage Stage: Accepted
Severity: Normal | Needs documentation: 0
Keywords: BaseYearArchiveView | Patch needs improvement: 0
filtering | UI/UX: 0
Has patch: 0 |
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------

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

In [changeset:"2724cdbff635a40819f206411de23e9b14867a58"]:
{{{
#!CommitTicketReference repository=""
revision="2724cdbff635a40819f206411de23e9b14867a58"
Fixed #18355 -- Added ordering options to list based generic views.

Added MultipleObjectMixin.ordering and get_ordering().

Refs #21450.
}}}

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

Django

unread,
Aug 15, 2014, 11:16:45 AM8/15/14
to django-...@googlegroups.com
#21450: BaseYearArchiveView prevent ordering of queryset
-------------------------------------+-------------------------------------
Reporter: Thibault Serot | Owner: nobody
<thibserot@…> | Status: closed
Type: | Version: 1.5
Cleanup/optimization | Resolution: fixed

Component: Generic views | Triage Stage: Accepted
Severity: Normal | Needs documentation: 0
Keywords: BaseYearArchiveView | Patch needs improvement: 0
filtering | UI/UX: 0
Has patch: 0 |
Needs tests: 0 |
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Changes (by timgraham):

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


Comment:

Closing per above commit as I believe it solves it, but please reopen if
not.

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

Reply all
Reply to author
Forward
0 new messages