在Odoo 14 中,@api.onchange
装饰器的返回值是一个字典,其中可以包含以下键:
-
'value'
: 用于更新字段的新值。这个键对应的值是一个字典,其中包含要更新的字段名及其新的值。这样,当字段的值发生变化时,这些新的值将被用于更新与这些字段相关的视图部分。示例:
return {'value': {'field_name': new_value,'another_field': another_value,# ...} } --------------------------------------------------------------说明:field_name,another_field是字段名称:new_value,another_value是对应字段值需要在界面上展示的值
-
'warning'
: 用于显示警告信息。这个键对应的值是一个字典,其中包含了用于显示警告的信息,如标题、消息和类型。示例:
return {'warning': {'title': "Warning Title",'message': "Warning Message",'type': 'notification', # 或者 'blocking','info' 等} }---------------------------------------------------------------------type值说明:在Odoo中,warning 的 type 属性支持以下几个值:'dialog': 弹出对话框。'blocking': 阻塞用户操作。'info': 提供一般信息。'success': 显示成功信息。'warning': 显示警告信息。'danger': 显示危险或错误信息。你可以根据你的需要选择适当的类型。例如,如果你希望用户看到一般的信息,你可以使用 'info',如果希望弹出一个对话框,你可以使用 'dialog'
-
'domain'
: 用于修改字段的域(domain)。这个键对应的值是一个字典,其中包含字段名及其新的域。这样,当字段的值发生变化时,新的域将被应用到该字段。示例:
return {'domain': {'field_name': [('domain_condition', '=', 'value')],'another_field': [('another_condition', '=', 'another_value')],# ...} }-----------------------------------------------说明:field_name,another_field是需要过滤的字段名称:后面就是 过滤域 格式和 domain 格式一样