[1.7.x] Fixed #23774 -- Clarified QuerySet.order_by() and related models.

Backport of 11b7680d0e from master
This commit is contained in:
Tim Graham 2014-11-12 22:00:48 +01:00
parent 7c44d4be34
commit 3e0d7de8a6
1 changed files with 7 additions and 3 deletions

View File

@ -282,9 +282,10 @@ and so on for as many models as you want to join. For example::
Entry.objects.order_by('blog__name', 'headline')
If you try to order by a field that is a relation to another model, Django will
use the default ordering on the related model (or order by the related model's
use the default ordering on the related model, or order by the related model's
primary key if there is no :attr:`Meta.ordering
<django.db.models.Options.ordering>` specified. For example::
<django.db.models.Options.ordering>` specified. For example, since the ``Blog``
model has no default ordering specified::
Entry.objects.order_by('blog')
@ -292,7 +293,10 @@ primary key if there is no :attr:`Meta.ordering
Entry.objects.order_by('blog__id')
...since the ``Blog`` model has no default ordering specified.
If ``Blog`` had ``ordering = ['name']``, then the first queryset would be
identical to::
Entry.objects.order_by('blog__name')
.. versionadded:: 1.7