如何在odoo 10中的Onchange()内部调用计算函数?

时间:2018-07-05 14:31:58

标签: python-3.x odoo

我们如何在odoo中的onchange()内部调用计算函数。 例如 !我有两个字段(开始日期和结束日期)。 更改开始日期时,结束日期将如何自动更改。

这是我的代码:

@api.onchange('start_date')
def onchange_start_date(self):
    self.update({
       'validity_date': self.compute_next_days()     
     })

def compute_next_days(self, exprdate):
    ten_days = relativedelta(days=10)
    expr_date = fields.Date.from_string(exprdate)
    return fields.Date.to_string(expr_date + ten_days)

2 个答案:

答案 0 :(得分:0)

您在不使用self.compute_next_days()参数的情况下调用exprdate,则可以通过以下方式更新validity_date

self.validity_date = self.compute_next_days(self.start_date)

您的onchange方法应为:

@api.onchange('start_date')
def onchange_start_date(self):
    self.validity_date = self.compute_next_days(self.start_date)

我希望这个答案对您有帮助。

答案 1 :(得分:0)

您可以为此使用@api.depends(fields_name)。在您的计算方法中,同时添加@api.depends@api.onchange