Opened 12 years ago
Closed 9 years ago
#5293 closed (wontfix)
adding sql functions to order_by clause handling
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Core (Other) | Version: | master |
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)
Change History (4)
Changed 12 years ago by
Attachment: | sql_function_in_order_by.diff added |
---|
comment:1 Changed 12 years ago by
Triage Stage: | Unreviewed → Design decision needed |
---|---|
Version: | 0.96 → SVN |
comment:2 Changed 12 years ago by
Cc: | sam@… added |
---|
comment:3 Changed 9 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Wontfixing this, there is zero precedent in the API for allowing arbitrary SQL.
patch