feat(django 1.9): Django 1.9 support for PageQuerySet.specific()

pull/1990/merge
Karl Hobley 2015-12-02 16:21:54 +00:00 zatwierdzone przez Matt Westcott
rodzic baed1d50be
commit bf47412fca
1 zmienionych plików z 5 dodań i 5 usunięć

Wyświetl plik

@ -243,7 +243,7 @@ class PageQuerySet(SearchableQuerySetMixin, TreeQuerySet):
"""
if DJANGO_VERSION >= (1, 9):
clone = self._clone()
clone._iterator_class = SpecificIterator
clone._iterable_class = SpecificIterable
return clone
else:
return self._clone(klass=SpecificQuerySet)
@ -280,11 +280,11 @@ def specific_iterator(qs):
# Django 1.9 changed how extending QuerySets with different iterators behaved
# considerably, in a way that is not easily compatible between the two versions
if DJANGO_VERSION >= (1, 9):
# TODO Test this once Wagtail runs under Django 1.9.
from django.db.models.query import BaseIterator
from django.db.models.query import BaseIterable
class SpecificIterator(BaseIterator):
__iter__ = specific_iterator
class SpecificIterable(BaseIterable):
def __iter__(self):
return specific_iterator(self.queryset)
else:
from django.db.models.query import QuerySet