跳至内容
菜单
此问题已终结
1 回复
15636 查看

For Odoo V8

I have a field.function in product.product model, depending on two fields one from product.template say "a" and one from product.product "b", also it has got an inverse function which is having no definition, which allows me to write the value manually in the field.function field.

Now when I try to delete the value of the field "b" it calls the field.function and calculates the field but also deletes the value of field "a" (field from product.template) . I am not getting why this is happening.

Can any one guide me please

 

形象
丢弃
最佳答案

In v8, instead of fields.function, we use the compute field and @api.depends if the field depends on some other fields and that can be dotted paths when using sub-fields.

A simple example:

name = fields.Char(string="Name")
upper = fields.Char(compute='_compute_upper', inverse='_inverse_upper')

@api.depends('name')
def _compute_upper(self):
for rec in self:
self.upper = self.name.upper() if self.name else False

def _inverse_upper(self):
for rec in self:
self.name = self.upper.lower() if self.upper else False

I can help you better if you tell me what exactly you want to do, like which are the fields or paste your code.

形象
丢弃
编写者

Thank you Akhil..

Did you solve the problem Hardik?

Hey Akhil i have another case which i need to execute the computed field each time there is an update in odoo field in setting another model without relation

相关帖文 回复 查看 活动
3
2月 25
16756
1
7月 16
4178
0
7月 16
5094
1
12月 15
3663
1
11月 15
5131