From 3e0d7de8a6380c5747717cf32166864a22f258d5 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Wed, 12 Nov 2014 22:00:48 +0100 Subject: [PATCH] [1.7.x] Fixed #23774 -- Clarified QuerySet.order_by() and related models. Backport of 11b7680d0e from master --- docs/ref/models/querysets.txt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index d3f6653be2..bc80963e81 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -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 -` specified. For example:: +` 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