Hello
How to Override/Replace create function NOT extending (adding onto)
Thanks in advance
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
Hello
How to Override/Replace create function NOT extending (adding onto)
Thanks in advance
Hi, Yazeed
There have two ways to override create(ORM functions).
Call inherited function as well as other which are inherit before,
class CustomModel(models.Model):
_inherit = "custom.model"
@api.model
def create(self, vals):
return super(CustomModel, self).create(vals)
It will call current method as well as all the create methods which are inherited before.
Call self and Models.model definition,
class CustomModel(models.Model):
_inherit = "custom.model"
@api.model
def create(self, vals):
## Definition
return super(models.Model, self).create(vals)
Here only this function and create function of "model.Model" will call
Thanks Ashish, solved
Dear Yazeed,
class ModelModel1(models.Model):
_name = "table.table"
_description = "Test"
@api.multi
def test_method(self):
{fuction definition}
@api.model
def create(self, vals):
vals['number'] = self.env['ir.sequence'].next_by_code('annual.achievement.request.seq')
val['field1'] = 'name'
val['field2'] = 'age'
rec = super(ModelModel1, self).create(vals)
rec.test_method()
return rec
As like you can change any value or add value to the create function. also, you can call external methods also.
Thanks Nikhil
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign up
Reference: https://goo.gl/4BkizH