Refs #20625 -- Forwardported tests and release notes for queryset chaining fix.

The issue was fixed on master due to the removal of ValuesQuerySet.

Partial forwardport of 7d471fe662 from stable/1.8.x
This commit is contained in:
Aric Coady 2015-09-01 13:23:06 -07:00 committed by Tim Graham
parent abd33d80db
commit f33b3ebd53
2 changed files with 7 additions and 0 deletions

View File

@ -36,3 +36,6 @@ Bugfixes
* Changed ``Count`` queries to execute ``COUNT(*)`` instead of ``COUNT('*')`` * Changed ``Count`` queries to execute ``COUNT(*)`` instead of ``COUNT('*')``
as versions of Django before 1.8 did (:ticket:`25377`). This may fix a as versions of Django before 1.8 did (:ticket:`25377`). This may fix a
performance regression on some databases. performance regression on some databases.
* Fixed custom queryset chaining with ``values()`` and ``values_list()``
(:ticket:`20625`).

View File

@ -76,6 +76,10 @@ class CustomManagerTests(TestCase):
self.assertEqual(list(queryset), [six.text_type("Bugs")]) self.assertEqual(list(queryset), [six.text_type("Bugs")])
self.assertEqual(queryset._filter_CustomQuerySet, True) self.assertEqual(queryset._filter_CustomQuerySet, True)
self.assertIsInstance(queryset.values(), CustomQuerySet)
self.assertIsInstance(queryset.values().values(), CustomQuerySet)
self.assertIsInstance(queryset.values_list().values(), CustomQuerySet)
def test_init_args(self): def test_init_args(self):
""" """
The custom manager __init__() argument has been set. The custom manager __init__() argument has been set.