我在 View 中创建了一个按钮,该按钮触发模块内的方法。但是,单击按钮时,临时编辑的字段将被保存,并且在单击“放弃”按钮时不会恢复。
这是我的观点的代码:
<form>
<sheet>
<group>
<field name="name" />
</group>
<button name="my_button" string="My Button" type="object" class="oe_edit_only" />
</sheet>
</form>
一旦我点击
my_button
现场name
保存在数据库中,按钮 Discard
不再有任何影响。单击自定义按钮时,如何防止 Odoo 保存临时数据?
(我正在使用 Odoo10,但我想旧版本的 Odoo 是一样的)
最佳答案
您也许可以将您的按钮更改为 bool 字段并使您的 my_button
方法onchange
.
Python
my_button = fields.Boolean('Label')
@api.multi
@api.onchange('my_button')
def onchange_my_button(self):
for record in self:
# whatever my_button does
如果您希望它仍显示为按钮,则可以将标签样式显示为按钮并隐藏实际的复选框。
XML
<label for="my_button" class="btn btn-sm btn-primary"/>
<field name="my_button" invisible="1"/>
关于openerp - 如何阻止 Odoo 自定义按钮自动保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262561/