Opened 17 years ago

Closed 14 years ago

#5293 closed (wontfix)

adding sql functions to order_by clause handling

Reported by: rb.online@… Owned by: nobody
Component: Core (Other) Version: dev
Severity: Keywords: order_by
Cc: sam@… Triage Stage: Design decision needed
Has patch: yes Needs documentation: no
Needs tests: yes Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

The attached patch enables the use of a sql function in a order_by clause.

example:
Publication.objects.order_by("-year(date)")
will produce the following SQL:
... ORDER BY YEAR(date) DESC

use case:
when ordering according to multiple fields to group by year, and then say by publication type, if we use the date to order, the publication type is used only if the whole date is the same.
to group publications by year in the order clause, I could not find a solution.
Publication.objects.order_by("-date.year", "author")
does not work but
Publication.objects.order_by("-year(date)", "author")
does.

I suspect there are other use cases.

caveats:
The provided patch does not changes the way the deprecated syntax for ordering is handled (in orderlist2sql)

Attachments (1)

sql_function_in_order_by.diff (1.6 KB ) - added by rb.online@… 17 years ago.
patch

Download all attachments as: .zip

Change History (4)

by rb.online@…, 17 years ago

patch

comment:1 by Simon G. <dev@…>, 17 years ago

Triage Stage: UnreviewedDesign decision needed
Version: 0.96SVN

comment:2 by anonymous, 17 years ago

Cc: sam@… added

comment:3 by Alex Gaynor, 14 years ago

Resolution: wontfix
Status: newclosed

Wontfixing this, there is zero precedent in the API for allowing arbitrary SQL.

Note: See TracTickets for help on using tickets.
Back to Top