Onchange无法在odoo中使用日期字段?不进入Onchange函数,它正在与其他领域一起使用

时间:2019-06-25 11:58:32

标签: python odoo onchange

字段声明

    price=fields.Integer(string="Price")
    service_date=fields.Date(string="Last servicing date")
    service_charge=fields.Integer(string="Last Service Charge")
    total_charge=fields.Integer(string="Total Spent")

onchange函数,其中servie_date用作参数

    @api.onchange('service_date')
    def _onchange_total_charge(self):
        if self.total_charge > 0:
            self.total_charge+=self.service_charge
        else:
            self.total_charge=self.price+self.service_charge

2 个答案:

答案 0 :(得分:2)

我已经使用了您的代码,该代码适用于我的odoo实例。请确保您在xml文件中的字段中调用相同的名称。您还可以使用计算字段来完成计算。

答案 1 :(得分:2)

@api.onchange('service_date')
@api.depends('service_date')
def _onchange_total_charge(self):
    if self.total_charge > 0:
        self.total_charge += self.service_charge
    else:
        self.total_charge = self.price + self.service_charge

尝试像这样重新编写代码