From cd4246aab1740d77fa6ebd66c7d2053634501598 Mon Sep 17 00:00:00 2001 From: Chad Shryock Date: Thu, 2 Jun 2016 10:52:58 -0700 Subject: [PATCH] [1.10.x] Fixed #26526 -- Documented QuerySet.latest()'s dependency on database ordering. Backport of e6c5e68acd4bff90e371fd148ed6976e147692ad from master --- docs/ref/models/querysets.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index 8ce6d501ce..c348db182b 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -1956,6 +1956,17 @@ given parameters. Note that ``earliest()`` and ``latest()`` exist purely for convenience and readability. +.. admonition:: ``earliest()`` and ``latest()`` may return instances with null dates. + + Since ordering is delegated to the database, results on fields that allow + null values may be ordered differently if you use different databases. For + example, PostgreSQL and MySQL sort null values as if they are higher than + non-null values, while SQLite does the opposite. + + You may want to filter out null values:: + + Entry.objects.filter(pub_date__isnull=False).latest('pub_date') + ``earliest()`` ~~~~~~~~~~~~~~