添加不在模型中的字段

时间:2016-07-14 11:16:49

标签: python xml odoo-8

我刚刚开始使用Odoo,我正在创建自己的模块,所以我为Products添加了一个新字段,例如:

class ProductTemplate(models.Model):
    _inherit = 'product.template'

    netto_price = fields.Float()

现在我将根据netto_price改变额外的字段,netto_price将根据它们进行更改。 Basicaly所有这些都是从netto_price计算的。现在我尝试添加另一个字段:

<field name="calculated_price"/>

但由于它不在模型中而崩溃。所以任何想法我怎么能添加它?我尝试使用输入字段(html),但是当我不添加编辑模式时,仍然有输入字段,这不是我想要的。

1 个答案:

答案 0 :(得分:1)

from openerp import api

class ProductTemplate(models.Model):
    _inherit = 'product.template'

    netto_price = fields.Float()
    calculated_price = fields.Float('Calculated price') # or whatever type you want it to be

    @api.onchange('netto_price')
    def netto_change(self):

        return {value: {'calculated_price': self.netto_price}}

基本上您需要做的是添加新字段calculated,然后装饰您希望在特定字段更改时要触发的任何函数api.onchange传入您想要的字段触发该函数作为第一个参数,在此函数中我只需将calculated_price的值设置为netto

的值