<!-- 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类似