Loading django/db/models/manager.py +7 −3 Original line number Diff line number Diff line Loading @@ -270,9 +270,13 @@ class SwappedManagerDescriptor(object): self.model = model def __get__(self, instance, type=None): raise AttributeError("Manager isn't available; %s has been swapped for '%s'" % ( self.model._meta.object_name, self.model._meta.swapped )) raise AttributeError( "Manager isn't available; '%s.%s' has been swapped for '%s'" % ( self.model._meta.app_label, self.model._meta.object_name, self.model._meta.swapped, ) ) class EmptyManager(Manager): Loading tests/managers_regress/tests.py +15 −17 Original line number Diff line number Diff line Loading @@ -109,12 +109,12 @@ class ManagersRegressionTests(TestCase): # Accessing the manager on a swappable model should # raise an attribute error with a helpful message try: msg = ( "Manager isn't available; 'managers_regress.SwappableModel' " "has been swapped for 'managers_regress.Parent'" ) with self.assertRaisesMessage(AttributeError, msg): SwappableModel.objects.all() self.fail('Should raise an AttributeError') except AttributeError as e: self.assertEqual(str(e), "Manager isn't available; SwappableModel has been swapped for 'managers_regress.Parent'") finally: apps.app_configs['managers_regress'].models = _old_models apps.all_models['managers_regress'] = _old_models Loading @@ -128,7 +128,6 @@ class ManagersRegressionTests(TestCase): try: class SwappableModel(models.Model): stuff = models.Manager() class Meta: Loading @@ -137,12 +136,12 @@ class ManagersRegressionTests(TestCase): # Accessing the manager on a swappable model with an # explicit manager should raise an attribute error with a # helpful message try: msg = ( "Manager isn't available; 'managers_regress.SwappableModel' " "has been swapped for 'managers_regress.Parent'" ) with self.assertRaisesMessage(AttributeError, msg): SwappableModel.stuff.all() self.fail('Should raise an AttributeError') except AttributeError as e: self.assertEqual(str(e), "Manager isn't available; SwappableModel has been swapped for 'managers_regress.Parent'") finally: apps.app_configs['managers_regress'].models = _old_models apps.all_models['managers_regress'] = _old_models Loading @@ -156,7 +155,6 @@ class ManagersRegressionTests(TestCase): try: class SwappableModel(models.Model): objects = models.Manager() class Meta: Loading @@ -165,12 +163,12 @@ class ManagersRegressionTests(TestCase): # Accessing the manager on a swappable model with an # explicit manager should raise an attribute error with a # helpful message try: msg = ( "Manager isn't available; 'managers_regress.SwappableModel' " "has been swapped for 'managers_regress.Parent'" ) with self.assertRaisesMessage(AttributeError, msg): SwappableModel.objects.all() self.fail('Should raise an AttributeError') except AttributeError as e: self.assertEqual(str(e), "Manager isn't available; SwappableModel has been swapped for 'managers_regress.Parent'") finally: apps.app_configs['managers_regress'].models = _old_models apps.all_models['managers_regress'] = _old_models Loading Loading
django/db/models/manager.py +7 −3 Original line number Diff line number Diff line Loading @@ -270,9 +270,13 @@ class SwappedManagerDescriptor(object): self.model = model def __get__(self, instance, type=None): raise AttributeError("Manager isn't available; %s has been swapped for '%s'" % ( self.model._meta.object_name, self.model._meta.swapped )) raise AttributeError( "Manager isn't available; '%s.%s' has been swapped for '%s'" % ( self.model._meta.app_label, self.model._meta.object_name, self.model._meta.swapped, ) ) class EmptyManager(Manager): Loading
tests/managers_regress/tests.py +15 −17 Original line number Diff line number Diff line Loading @@ -109,12 +109,12 @@ class ManagersRegressionTests(TestCase): # Accessing the manager on a swappable model should # raise an attribute error with a helpful message try: msg = ( "Manager isn't available; 'managers_regress.SwappableModel' " "has been swapped for 'managers_regress.Parent'" ) with self.assertRaisesMessage(AttributeError, msg): SwappableModel.objects.all() self.fail('Should raise an AttributeError') except AttributeError as e: self.assertEqual(str(e), "Manager isn't available; SwappableModel has been swapped for 'managers_regress.Parent'") finally: apps.app_configs['managers_regress'].models = _old_models apps.all_models['managers_regress'] = _old_models Loading @@ -128,7 +128,6 @@ class ManagersRegressionTests(TestCase): try: class SwappableModel(models.Model): stuff = models.Manager() class Meta: Loading @@ -137,12 +136,12 @@ class ManagersRegressionTests(TestCase): # Accessing the manager on a swappable model with an # explicit manager should raise an attribute error with a # helpful message try: msg = ( "Manager isn't available; 'managers_regress.SwappableModel' " "has been swapped for 'managers_regress.Parent'" ) with self.assertRaisesMessage(AttributeError, msg): SwappableModel.stuff.all() self.fail('Should raise an AttributeError') except AttributeError as e: self.assertEqual(str(e), "Manager isn't available; SwappableModel has been swapped for 'managers_regress.Parent'") finally: apps.app_configs['managers_regress'].models = _old_models apps.all_models['managers_regress'] = _old_models Loading @@ -156,7 +155,6 @@ class ManagersRegressionTests(TestCase): try: class SwappableModel(models.Model): objects = models.Manager() class Meta: Loading @@ -165,12 +163,12 @@ class ManagersRegressionTests(TestCase): # Accessing the manager on a swappable model with an # explicit manager should raise an attribute error with a # helpful message try: msg = ( "Manager isn't available; 'managers_regress.SwappableModel' " "has been swapped for 'managers_regress.Parent'" ) with self.assertRaisesMessage(AttributeError, msg): SwappableModel.objects.all() self.fail('Should raise an AttributeError') except AttributeError as e: self.assertEqual(str(e), "Manager isn't available; SwappableModel has been swapped for 'managers_regress.Parent'") finally: apps.app_configs['managers_regress'].models = _old_models apps.all_models['managers_regress'] = _old_models Loading