Skip to main content
added 317 characters in body
Source Link
Bipul Jain
  • 4.6k
  • 3
  • 25
  • 27

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() 

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() 

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() 
Source Link
Bipul Jain
  • 4.6k
  • 3
  • 25
  • 27

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()