解决方案0
@api.multidef check_tax_id(self): self.ensure_one() self.name = "New name" return { "type": "ir.actions.do_nothing", }Tadeusz
Karpinski在此提供了此解决方案。
解决方案1
您可以返回具有相同记录ID的新表格。
@api.multidef check_tax_id(self): self.ensure_one() self.name = "New name" return { 'context': self.env.context, 'view_type': 'form', 'view_mode': 'form', 'res_model': 'model_name', 'res_id': self.id, 'view_id': False, 'type': 'ir.actions.act_window', 'target': 'new', }解决方案2
您可以在jQuery中创建小部件。这将打开向导,您可以将所需的行为手动分配给按钮。您也可以使用该
call函数来调用python函数:
[...]new instance.web.Dialog(this, { title: _t("Title"), width: '95%', buttons: [ { text: _t("First button"), click: function() { self.first_button(); }},{ text: _t("Second button"), click: function() { self.second_button(); }}, { text: _t("Close"), click: function() { dialog.close(); }}, ],});[...]解决方案3
当然,您也可以覆盖create方法,以避免在某些情况下创建记录
解决方案4
最后一个选择。创建带有状态字段的工作流。创建工作流程按钮以发送信号以更改状态。您可以使用attrs属性和状态字段显示或隐藏其余字段。但是我不知道这是否适合您的需求。



