İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
15570 Görünümler

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

 

Avatar
Vazgeç
En İyi Yanıt

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.

Avatar
Vazgeç
Üretici

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

İlgili Gönderiler Cevaplar Görünümler Aktivite
3
Şub 25
16664
1
Tem 16
4080
0
Tem 16
5029
1
Ara 15
3626
1
Kas 15
5107