我想根据另一个字段(类别)动态填充引用字段(ref),这可能吗?
答案 0 :(得分:0)
您可以使用 onchange(): -
" onchange"只要用户填写了字段中的值,而不向数据库保存任何内容,机制就为客户端界面提供了一种更新表单的方法。
例如,假设模型有三个字段金额,unit_price和price,并且您希望在修改任何其他字段时更新表单上的价格。要实现这一点,请定义一个方法,其中self表示表单视图中的记录,并使用onchange()对其进行修饰,以指定必须触发哪个字段。您对自己所做的任何更改都将反映在表单上。
<!-- 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 :(得分:0)
您可以通过提供ref
和model_name
来填充record_id
,如下所示:
@api.onchange("template_id")
def _onchange_template_id(self):
if self.template_id:
self.ref = "{},{}".format(self.env.context["active_model"],
self.env.context["active_id"])