簡體   English   中英

如何在odoo 10中的Onchange()內部調用計算函數?

[英]How to call a compute function inside a Onchange() in odoo 10?

我們如何在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)

您呼叫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)

希望這個答案對您有所幫助。

您可以@api.depends(fields_name)使用@api.depends(fields_name) 在您的計算方法中,同時添加@api.depends@api.onchange

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM