[Answer]-Subclassing django model doesn't carry the Manager

1👍

You can read more about this here: https://docs.djangoproject.com/en/dev/topics/db/managers/#custom-managers-and-model-inheritance

Basically managers are not inherited (from ordinary models). To get around this you can manually declare the manager in each model that should use the PersonManager. Or you can make Person an abstract model, that way all subclasses will inherit the PersonManager. Considering that you might want to add Directors, Producers or Technicians this might be the way to go. To do that you add the abstract attribute to Persons metaclass.

class Person(models.Model):
    name = models.CharField(max_length=45)
    surname = models.CharField(max_length=45)
    objects = PersonManager()

    class Meta:
        abstract = True

Leave a comment