是因为树视图中的计算字段是在记录保存之前计算的,而不是实时更新的。这意味着当您在弹出窗口中更改了相关字段的值时,计算字段不会立即更新。
要解决这个问题,您可以使用Odoo的@api.depends装饰器来定义计算字段的依赖关系。@api.depends装饰器允许您指定计算字段所依赖的其他字段,以便在这些字段发生更改时自动更新计算字段。
以下是一个示例代码,展示了如何使用@api.depends装饰器来解决这个问题:
from odoo import models, fields, api
class MyModel(models.Model):
_name = 'my.model'
field1 = fields.Char('Field 1')
field2 = fields.Char('Field 2')
computed_field = fields.Char('Computed Field', compute='_compute_field', store=True)
@api.depends('field1', 'field2')
def _compute_field(self):
for record in self:
record.computed_field = record.field1 + record.field2
在上面的示例中,我们定义了一个名为computed_field
的计算字段,它依赖于field1
和field2
字段。当field1
或field2
的值发生更改时,computed_field
将自动更新。
请注意,我们在计算字段的定义中设置了store=True
。这将使Odoo在保存记录时将计算字段的值存储在数据库中,以便在树视图中实时更新。如果不设置store=True
,则计算字段将只在记录被保存后才会更新。
推荐的腾讯云相关产品和产品介绍链接地址:
以上是关于树视图中的Odoo v9计算字段在弹出后不会更新的完善且全面的答案。希望对您有帮助!
领取专属 10元无门槛券
手把手带您无忧上云