Fixed compatibility with django 1.8

fix_request_path_info
Marius Lueck 2014-07-25 11:48:07 +02:00
parent 831075c3c7
commit fb1795ad12
3 changed files with 19 additions and 4 deletions

View File

@ -220,8 +220,12 @@ class PolymorphicParentModelAdmin(admin.ModelAdmin):
def queryset(self, request):
return self.get_queryset(request)
def get_queryset(self, request):
# optimize the list display.
qs = super(PolymorphicParentModelAdmin, self).queryset(request)
qs = super(PolymorphicParentModelAdmin, self).get_queryset(request)
if not self.polymorphic_list:
qs = qs.non_polymorphic()
return qs

View File

@ -30,9 +30,13 @@ class PolymorphicManager(models.Manager):
super(PolymorphicManager, self).__init__(*args, **kwrags)
def get_query_set(self):
def get_queryset(self):
return self.queryset_class(self.model, using=self._db)
def get_query_set(self):
# Maintains Django <= 1.5 compatibility
return self.get_queryset()
# Proxy all unknown method calls to the queryset, so that its members are
# directly accessible as PolymorphicModel.objects.*
# The advantage of this method is that not yet known member functions of derived querysets will be proxied as well.

View File

@ -110,8 +110,11 @@ class MyManagerQuerySet(PolymorphicQuerySet):
class MyManager(PolymorphicManager):
queryset_class = MyManagerQuerySet
def get_queryset(self):
return super(MyManager, self).get_queryset().order_by('-field1')
def get_query_set(self):
return super(MyManager, self).get_query_set().order_by('-field1')
return self.get_queryset()
class ModelWithMyManager(ShowFieldTypeAndContent, Model2A):
objects = MyManager()
@ -143,9 +146,13 @@ class PlainMyManager(models.Manager):
def my_queryset_foo(self):
return self.get_query_set().my_queryset_foo()
def get_query_set(self):
def get_queryset(self):
return PlainMyManagerQuerySet(self.model, using=self._db)
def get_query_set(self):
# Maintains Django <= 1.5 compatibility
return self.get_queryset()
class PlainParentModelWithManager(models.Model):
pass