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")
@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
@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
Попробуйте переписать код, подобный этому
Я использовал ваш код, он работает на моем экземпляре odoo.Пожалуйста, убедитесь, что вы вызываете то же самое в поле в вашем XML-файле.Вы также можете использовать поле вычисления, чтобы выполнить расчет.