Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
15639 Widoki

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

 

Awatar
Odrzuć
Najlepsza odpowiedź

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.

Awatar
Odrzuć
Autor

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

Powiązane posty Odpowiedzi Widoki Czynność
3
lut 25
16772
1
lip 16
4184
0
lip 16
5096
1
gru 15
3667
1
lis 15
5136