summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMatthias Erll <matthias@precisdigital.com>2014-05-17 14:59:57 +0200
committerTim Graham <timograham@gmail.com>2017-05-31 19:34:56 -0400
commiteee34ef64c026e3274c6d1b4fa2baffbc956b954 (patch)
tree1ed5087f7396fafc49560e8106cf23c6d1afd99c /tests
parent84fb50df670c8126983c9f0fd4a5c30dbe57b684 (diff)
Fixed #22550 -- Prohibited QuerySet.last()/reverse() after slicing.
Diffstat (limited to 'tests')
-rw-r--r--tests/ordering/tests.py8
-rw-r--r--tests/queries/tests.py2
2 files changed, 9 insertions, 1 deletions
diff --git a/tests/ordering/tests.py b/tests/ordering/tests.py
index de49626cf4..ff749331b9 100644
--- a/tests/ordering/tests.py
+++ b/tests/ordering/tests.py
@@ -203,6 +203,14 @@ class OrderingTests(TestCase):
attrgetter("headline")
)
+ def test_no_reordering_after_slicing(self):
+ msg = 'Cannot reverse a query once a slice has been taken.'
+ qs = Article.objects.all()[0:2]
+ with self.assertRaisesMessage(TypeError, msg):
+ qs.reverse()
+ with self.assertRaisesMessage(TypeError, msg):
+ qs.last()
+
def test_extra_ordering(self):
"""
Ordering can be based on fields included from an 'extra' clause
diff --git a/tests/queries/tests.py b/tests/queries/tests.py
index b69ea84345..b2d5ef5e95 100644
--- a/tests/queries/tests.py
+++ b/tests/queries/tests.py
@@ -731,10 +731,10 @@ class Queries1Tests(TestCase):
q.extra(select={'foo': "1"}),
[]
)
+ self.assertQuerysetEqual(q.reverse(), [])
q.query.low_mark = 1
with self.assertRaisesMessage(AssertionError, 'Cannot change a query once a slice has been taken'):
q.extra(select={'foo': "1"})
- self.assertQuerysetEqual(q.reverse(), [])
self.assertQuerysetEqual(q.defer('meal'), [])
self.assertQuerysetEqual(q.only('meal'), [])