diff --git a/model_utils/managers.py b/model_utils/managers.py index 6149c50..aac6d7c 100644 --- a/model_utils/managers.py +++ b/model_utils/managers.py @@ -240,6 +240,8 @@ class PassThroughManagerMixin(object): def __getattr__(self, name): if name in self._deny_methods: raise AttributeError(name) + if django.VERSION < (1, 6, 0): + return getattr(self.get_query_set(), name) return getattr(self.get_queryset(), name) def get_queryset(self): diff --git a/model_utils/tests/tests.py b/model_utils/tests/tests.py index fac85ac..63b16d1 100644 --- a/model_utils/tests/tests.py +++ b/model_utils/tests/tests.py @@ -1238,12 +1238,19 @@ class PassThroughManagerTests(TestCase): class CreatePassThroughManagerTests(TestCase): def setUp(self): self.dude = Dude.objects.create(name='El Duderino') + self.other_dude = Dude.objects.create(name='Das Dude') def test_reverse_manager(self): Spot.objects.create( name='The Crib', owner=self.dude, closed=True, secure=True, secret=False) self.assertEqual(self.dude.spots_owned.closed().count(), 1) + Spot.objects.create( + name='The Crux', owner=self.other_dude, closed=True, secure=True, + secret=False + ) + self.assertEqual(self.dude.spots_owned.closed().all().count(), 1) + self.assertEqual(self.dude.spots_owned.closed().count(), 1) def test_related_queryset_pickling(self): Spot.objects.create(