继承模型不会覆盖Odoo 10中的字段定义

时间:2016-11-23 13:44:00

标签: openerp odoo-8 odoo-9 odoo-10

我已在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中的这段代码运行正常。

在继承的模型中覆盖现有字段定义的方法是什么?

1 个答案:

答案 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将无法计算值