Your BaseMixin is abstract class which you are inheriting at other places.
ModelManagers doesn't provide a save method , it's meant for abstracting out complex logic while querying a particular model.
You need to override save MyModel here. Something like.
class MyModel(BaseMixin): # ... objects = QuerySetManager() class Meta: managed = False db_table = 'my_model' def save(self, force_insert=False, force_update=False, using=None, update_fields=None): print "In Save Method" return super(MyModel, self).save() Save method is property of model instance.
Simple Example.
def my_view(request,pk): my_model = MyModel.object.get(id=pk) my_model.field_1 = "new value" ## When you call save method your custom save method is called first. my_model.save()