<!-- content of form view --> <field name="amount"/> <field name="unit_price"/> <field name="price" readonly="1"/>
# onchange handler @api.onchange('amount', 'unit_price') def _onchange_price(self): # set auto-changing field self.price = self.amount * self.unit_price # Can optionally return a warning and domains return { 'warning': { 'title': "Something bad happened", 'message': "It was very bad indeed", } }
這個方法有幾點需要注意 :
1. self是單條記錄 在一個form里展示 不能用在list view
2. 方法里改變self里的字段 會更新到未保存的form里
3. 通過onchange里參數字段 觸發更新與depands類似