I understand the Meta class can be inherited if the superclass has abstract=True, but can't be inherited otherwise. Is this because Django somehow consumes and removes the Meta class from concrete classes? I'd like to do something as in the example below, so Derived can get the Meta properties from Base (in this case, to inherit permissions as part of django-guardian).
Is this possible?
class Base(Model):
class Meta:
permissions = (("foo", "Allowed to do foo"),)
class Derived(Base):
class Meta(Base.Meta): pass
http://docs.djangoproject.com/en/dev/topics/db/models/#meta-inheritance
The Meta class isn't inherited straightly, Django does some funky stuff and doesn't handle all of its attributes the same way. You can have a look here if you like to know how the attributes on _meta are set.