Merge pull request #121 from schinckel/master

Make related query sets work on older django.
This commit is contained in:
Carl Meyer 2014-03-19 22:21:50 -06:00
commit aaacf63518
2 changed files with 9 additions and 0 deletions

View file

@ -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):

View file

@ -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(