Commit c31bf8cb authored by Andriy Sokolovskiy's avatar Andriy Sokolovskiy Committed by Tim Graham
Browse files

Refs #20203 -- Added tests to check inherited custom default manager

parent 7866968e
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -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
+13 −2
Original line number Diff line number Diff line
@@ -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,
)


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