Odoo is the world's easiest all-in-one management software. It includes hundreds of business apps:
CRM | e-Commerce | Accounting | Inventory | PoS | Project management | MRP | etc.
I was reading the documentation about the depends decorator of the ORM API and I don't understand the following statement written in the documentation:
One may also pass a single function as argument. In that case, the dependencies are given by calling the function with the field's model.
I suposse that it means that I can use a name function as an argument in *args, as that this function returns the dependencies.
pname = fields.Char(compute='_compute_pname') @api.one @api.depends(my_function) def _compute_pname(self): if self.partner_id.is_company: self.pname = (self.partner_id.name or "").upper() else: self.pname = self.partner_id.name
def my_function(self): return ???
What should my_function return?. Should it return the dependencies into a list or into another kind of data structure type?.
Just return the field names that your computed fields depends on as a list of strings.
Quoting From your example
pname = fields.Char(compute='_compute_pname') @api.one @api.depends(lambda self: self.my_function()) def _compute_pname(self): if self.partner_id.is_company: self.pname = (self.partner_id.name or "").upper() else: self.pname = self.partner_id.namedef my_function(self):def my_function(self): return ['partner_id.name']
About This Community
This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.Register
Odoo Training Center
Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.Test it now
|Asked: 6/17/15, 11:26 AM|
|Seen: 1401 times|
|Last updated: 3/14/18, 6:45 AM|