Loading tests/custom_managers/models.py +12 −0 Original line number Diff line number Diff line Loading @@ -194,3 +194,15 @@ class OneToOneRestrictedModel(models.Model): def __str__(self): return self.name class AbstractPerson(models.Model): abstract_persons = models.Manager() objects = models.CharField(max_length=30) class Meta: abstract = True class PersonFromAbstract(AbstractPerson): pass tests/custom_managers/tests.py +13 −2 Original line number Diff line number Diff line Loading @@ -6,8 +6,8 @@ from django.utils import six from .models import ( Book, Car, CustomManager, CustomQuerySet, DeconstructibleCustomManager, FunPerson, OneToOneRestrictedModel, Person, PersonManager, PublishedBookManager, RelatedModel, RestrictedModel, FunPerson, OneToOneRestrictedModel, Person, PersonFromAbstract, PersonManager, PublishedBookManager, RelatedModel, RestrictedModel, ) Loading Loading @@ -512,6 +512,17 @@ class CustomManagerTests(TestCase): with self.assertRaisesMessage(ValueError, msg): mgr.deconstruct() def test_abstract_model_with_custom_manager_name(self): """ A custom manager may be defined on an abstract model. It will be inherited by the abstract model's children. """ PersonFromAbstract.abstract_persons.create(objects='Test') self.assertQuerysetEqual( PersonFromAbstract.abstract_persons.all(), ["Test"], lambda c: c.objects, ) class TestCars(TestCase): Loading Loading
tests/custom_managers/models.py +12 −0 Original line number Diff line number Diff line Loading @@ -194,3 +194,15 @@ class OneToOneRestrictedModel(models.Model): def __str__(self): return self.name class AbstractPerson(models.Model): abstract_persons = models.Manager() objects = models.CharField(max_length=30) class Meta: abstract = True class PersonFromAbstract(AbstractPerson): pass
tests/custom_managers/tests.py +13 −2 Original line number Diff line number Diff line Loading @@ -6,8 +6,8 @@ from django.utils import six from .models import ( Book, Car, CustomManager, CustomQuerySet, DeconstructibleCustomManager, FunPerson, OneToOneRestrictedModel, Person, PersonManager, PublishedBookManager, RelatedModel, RestrictedModel, FunPerson, OneToOneRestrictedModel, Person, PersonFromAbstract, PersonManager, PublishedBookManager, RelatedModel, RestrictedModel, ) Loading Loading @@ -512,6 +512,17 @@ class CustomManagerTests(TestCase): with self.assertRaisesMessage(ValueError, msg): mgr.deconstruct() def test_abstract_model_with_custom_manager_name(self): """ A custom manager may be defined on an abstract model. It will be inherited by the abstract model's children. """ PersonFromAbstract.abstract_persons.create(objects='Test') self.assertQuerysetEqual( PersonFromAbstract.abstract_persons.all(), ["Test"], lambda c: c.objects, ) class TestCars(TestCase): Loading