如何在odoo中使用onchange存储值?

时间:2017-11-06 05:27:58

标签: python openerp onchange odoo-10

如果我将amount_total值更改保存到先前位置,因为它是只读的。我希望那个领域是只读的。

discount = fields.Selection([('fixed', 'fixed Price'), ('percentage', 'Percentage')], string="Discount")
amount = fields.Float("Amount")
total = fields.Float("Discounted Amount", store=True, compute='discount_amount')
amount_total = fields.Monetary(string='Total', store=True,readonly=True, compute='_amount_all')




    @api.onchange('total')
def totalamount(self):
    if self.total:
        self.amount_total -= self.total

如何处理此

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作,而不是编写更改功能

@api.depends('total')
def _amount_all(self):
    if self.total:
       total_amount = self.amount_total - self.total
    self.update({
           'amount_total': total_amount
        })