summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/releases/2.0.txt12
-rw-r--r--docs/topics/db/queries.txt3
2 files changed, 15 insertions, 0 deletions
diff --git a/docs/releases/2.0.txt b/docs/releases/2.0.txt
index 39df2d891d..044123485d 100644
--- a/docs/releases/2.0.txt
+++ b/docs/releases/2.0.txt
@@ -314,6 +314,18 @@ If you wish to keep this restriction in the admin when editing users, set
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
+``QuerySet.reverse()`` and ``last()`` are prohibited after slicing
+------------------------------------------------------------------
+
+Calling ``QuerySet.reverse()`` or ``last()`` on a sliced queryset leads to
+unexpected results due to the slice being applied after reordering. This is
+now prohibited, e.g.::
+
+ >>> Model.objects.all()[:2].reverse()
+ Traceback (most recent call last):
+ ...
+ TypeError: Cannot reverse a query once a slice has been taken.
+
Miscellaneous
-------------
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
index b95173773b..b6263a9f42 100644
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -361,6 +361,9 @@ every *second* object of the first 10::
>>> Entry.objects.all()[:10:2]
+Further filtering or ordering of a sliced queryset is prohibited due to the
+ambiguous nature of how that might work.
+
To retrieve a *single* object rather than a list
(e.g. ``SELECT foo FROM bar LIMIT 1``), use a simple index instead of a
slice. For example, this returns the first ``Entry`` in the database, after