Implementing required interfaces in abstract parent model class in Django
===

I've defined a base abstract model class which gives some extra funcionality to the model, like this:

    class BaseModel(models.Model):
        # ... some fields and methods
        class Meta:
            abstract = True

    class Model1(BaseModel):
        # ... some fields and methods
        def required_method(self, *args, *kwargs):
            # implementation

    class Model2(BaseModel):
        # ... some fields and methods

Now I need to ensure, that each derived class has number of required methods defined. If any of them is not defined, I need to throw an exception on attempt of execution by manage.py. So in other words, BaseModel should require each derived class to define some interfaces, that this BaseModel uses, but not defines by itself.

Where should I implement this checking? Is the `__init__` of the `BaseModel` a good place to check this?