我在我的视图中创建了一个按钮,它触发了模块内的一个方法。但是,单击该按钮后,临时编辑的字段将被保存,并且在单击“放弃”按钮时不会恢复。
这是我的观点的代码:
<form>
<sheet>
<group>
<field name="name" />
</group>
<button name="my_button" string="My Button" type="object" class="oe_edit_only" />
</sheet>
</form>
Run Code Online (Sandbox Code Playgroud)
单击my_button该字段后,该字段name将保存在数据库中,该按钮Discard不再起作用。
单击我的自定义按钮时,如何防止 Odoo 保存临时数据?
(我正在使用 Odoo10,但我想旧版本的 Odoo 也是如此)
您可以将按钮更改为布尔字段并使您的my_button方法成为onchange.
my_button = fields.Boolean('Label')
@api.multi
@api.onchange('my_button')
def onchange_my_button(self):
for record in self:
# whatever my_button does
Run Code Online (Sandbox Code Playgroud)
如果您希望它仍然显示为按钮,您可以显示样式为按钮的标签并隐藏实际的复选框。
<label for="my_button" class="btn btn-sm btn-primary"/>
<field name="my_button" invisible="1"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2830 次 |
| 最近记录: |