Merge pull request #82 from tswicegood/fix-get_subclass

Refactor to make sure get_subclass() is on QuerySet
This commit is contained in:
Carl Meyer 2013-10-08 10:12:37 -07:00
commit 12906a1ed6
2 changed files with 9 additions and 2 deletions

View file

@ -96,6 +96,8 @@ class InheritanceQuerySet(QuerySet):
else:
return node
def get_subclass(self, *args, **kwargs):
return self.select_subclasses().get(*args, **kwargs)
class InheritanceManager(models.Manager):
@ -108,8 +110,7 @@ class InheritanceManager(models.Manager):
return self.get_query_set().select_subclasses(*subclasses)
def get_subclass(self, *args, **kwargs):
return self.get_query_set().select_subclasses().get(*args, **kwargs)
return self.get_query_set().get_subclass(*args, **kwargs)
class QueryManager(models.Manager):

View file

@ -574,6 +574,12 @@ class InheritanceManagerTests(TestCase):
self.child1)
def test_get_subclass_on_queryset(self):
self.assertEqual(
self.get_manager().all().get_subclass(pk=self.child1.pk),
self.child1)
def test_prior_select_related(self):
with self.assertNumQueries(1):
obj = self.get_manager().select_related(