diff --git a/polymorphic/admin.py b/polymorphic/admin.py index 4dc0b4e..52e71cd 100644 --- a/polymorphic/admin.py +++ b/polymorphic/admin.py @@ -231,8 +231,15 @@ class PolymorphicParentModelAdmin(admin.ModelAdmin): def queryset(self, request): + self.get_queryset(request) + + + def get_queryset(self, request): # optimize the list display. - qs = super(PolymorphicParentModelAdmin, self).queryset(request) + try: + qs = super(PolymorphicParentModelAdmin, self).get_queryset(request) + except: + qs = super(PolymorphicParentModelAdmin, self).queryset(request) if not self.polymorphic_list: qs = qs.non_polymorphic() return qs diff --git a/polymorphic/manager.py b/polymorphic/manager.py index 3e0e6d8..47d0c27 100644 --- a/polymorphic/manager.py +++ b/polymorphic/manager.py @@ -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): + 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.