class SharedBaseModel(models.Model): """ Adds fields ``created`` and ``modified`` and two private methods that are used by the rest of the abstract models. """ created = AutoCreatedField() modified = AutoLastModifiedField() @property def _org_user_model(self): model = self.__class__.module_registry[ self.__class__.__module__]["OrgUserModel"] if model is None: model = self.__class__.module_registry["organizations.models"][ "OrgUserModel"] return model @property def _org_owner_model(self): model = self.__class__.module_registry[ self.__class__.__module__]["OrgOwnerModel"] if model is None: model = self.__class__.module_registry["organizations.models"][ "OrgOwnerModel"] return model class Meta: abstract = True
class TimeStampedModel(models.Model): created = AutoCreatedField() modified = AutoLastModifiedField() class Meta: abstract = True