我们如何在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)
答案 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
。