From f63811f4813f0e0439e140a97eeba18a5017e858 Mon Sep 17 00:00:00 2001 From: Hasan Ramezani Date: Wed, 13 Feb 2019 03:35:49 +0100 Subject: [PATCH] Fixed #29943 -- Doc'd that admin changelist may add pk to ordering. --- docs/ref/contrib/admin/index.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt index 75ad811e69..b4fa8c5035 100644 --- a/docs/ref/contrib/admin/index.txt +++ b/docs/ref/contrib/admin/index.txt @@ -1037,6 +1037,17 @@ subclass:: If you need to specify a dynamic order (for example depending on user or language) you can implement a :meth:`~ModelAdmin.get_ordering` method. + .. admonition:: Performance considerations with ordering and sorting + + To ensure a deterministic ordering of results, the changelist adds + ``pk`` to the ordering if it can't find a single or unique together set + of fields that provide total ordering. + + For example, if the default ordering is by a non-unique ``name`` field, + then the changelist is sorted by ``name`` and ``pk``. This could + perform poorly if you have a lot of rows and don't have an index on + ``name`` and ``pk``. + .. attribute:: ModelAdmin.paginator The paginator class to be used for pagination. By default,