mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #24747 -- Allowed transforms in QuerySet.order_by() and distinct(*fields).
This commit is contained in:
committed by
Tim Graham
parent
bf26f66029
commit
2162f0983d
@@ -138,6 +138,21 @@ SQL::
|
||||
Note that in case there is no other lookup specified, Django interprets
|
||||
``change__abs=27`` as ``change__abs__exact=27``.
|
||||
|
||||
This also allows the result to be used in ``ORDER BY`` and ``DISTINCT ON``
|
||||
clauses. For example ``Experiment.objects.order_by('change__abs')`` generates::
|
||||
|
||||
SELECT ... ORDER BY ABS("experiments"."change") ASC
|
||||
|
||||
And on databases that support distinct on fields (such as PostgreSQL),
|
||||
``Experiment.objects.distinct('change__abs')`` generates::
|
||||
|
||||
SELECT ... DISTINCT ON ABS("experiments"."change")
|
||||
|
||||
.. versionchanged:: 2.1
|
||||
|
||||
Ordering and distinct support as described in the last two paragraphs was
|
||||
added.
|
||||
|
||||
When looking for which lookups are allowable after the ``Transform`` has been
|
||||
applied, Django uses the ``output_field`` attribute. We didn't need to specify
|
||||
this here as it didn't change, but supposing we were applying ``AbsoluteValue``
|
||||
|
||||
Reference in New Issue
Block a user