Loading django/db/models/query.py +2 −2 Original line number Diff line number Diff line Loading @@ -937,10 +937,10 @@ class QuerySet(object): using=self.db) def _clone(self, klass=None, setup=False, **kwargs): base_queryset_class = getattr(self, '_base_queryset_class', self.__class__) if klass is None: klass = self.__class__ elif not issubclass(self.__class__, klass): base_queryset_class = getattr(self, '_base_queryset_class', self.__class__) elif not (issubclass(base_queryset_class, klass) or issubclass(klass, base_queryset_class)): class_bases = (klass, base_queryset_class) class_dict = { '_base_queryset_class': base_queryset_class, Loading docs/releases/1.8.5.txt +3 −0 Original line number Diff line number Diff line Loading @@ -36,3 +36,6 @@ Bugfixes * Changed ``Count`` queries to execute ``COUNT(*)`` instead of ``COUNT('*')`` as versions of Django before 1.8 did (:ticket:`25377`). This may fix a performance regression on some databases. * Fixed custom queryset chaining with ``values()`` and ``values_list()`` (:ticket:`20625`). tests/custom_managers/tests.py +4 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,10 @@ class CustomManagerTests(TestCase): self.assertEqual(list(queryset), [six.text_type("Bugs")]) 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): """ The custom manager __init__() argument has been set. Loading Loading
django/db/models/query.py +2 −2 Original line number Diff line number Diff line Loading @@ -937,10 +937,10 @@ class QuerySet(object): using=self.db) def _clone(self, klass=None, setup=False, **kwargs): base_queryset_class = getattr(self, '_base_queryset_class', self.__class__) if klass is None: klass = self.__class__ elif not issubclass(self.__class__, klass): base_queryset_class = getattr(self, '_base_queryset_class', self.__class__) elif not (issubclass(base_queryset_class, klass) or issubclass(klass, base_queryset_class)): class_bases = (klass, base_queryset_class) class_dict = { '_base_queryset_class': base_queryset_class, Loading
docs/releases/1.8.5.txt +3 −0 Original line number Diff line number Diff line Loading @@ -36,3 +36,6 @@ Bugfixes * Changed ``Count`` queries to execute ``COUNT(*)`` instead of ``COUNT('*')`` as versions of Django before 1.8 did (:ticket:`25377`). This may fix a performance regression on some databases. * Fixed custom queryset chaining with ``values()`` and ``values_list()`` (:ticket:`20625`).
tests/custom_managers/tests.py +4 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,10 @@ class CustomManagerTests(TestCase): self.assertEqual(list(queryset), [six.text_type("Bugs")]) 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): """ The custom manager __init__() argument has been set. Loading