我已在Odoo 10中使用以下代码创建了一个模块,以继承product.product
模型并覆盖现有的standard_price
字段定义,将其设置为计算字段:
class ProductProduct(models.Model):
_inherit = 'product.product'
standard_price = fields.Float(
'Cost', company_dependent=True,
digits=dp.get_precision('Product Price'),
groups="base.group_user",
compute='_compute_set_standard_price')
def _compute_set_standard_price(self):
.....
# calculation for the value
.....
self.standard_price = 121 #this value is an example
standard_price
将设置为121,因为我已将字段定义覆盖到计算字段,但standard_price
字段设置为0并且不会触发计算方法。 Odoo v8中的这段代码运行正常。
在继承的模型中覆盖现有字段定义的方法是什么?
答案 0 :(得分:0)
您没有使用装饰器api.depends
。
@api.depends('field_1', 'field_2')
def _compute_set_standard_price(self):
.....
# calculation for the value
.....
self.standard_price = 121 #this value is an example
当odoo创建记录或更新记录时,它将检查计算字段,该字段取决于在字典中传递的字段,以根据新值重新计算计算字段。 没有触发器odoo将无法计算值