智能按钮操作或方法不起作用

Smart Button action or method not working

美好的一天,我想通过 odoo 14 中的智能按钮获取客户的银行详细信息。下面的代码在我 运行 时给我一个错误。

def action_bank_details_preview(self):
    action = self.env["ir.actions.actions"]._for_xml_id("base.res_partner_bank")
    action['domain'] = [('partner_id','=',self.partner_id.id)]
    action['context'] = {'default_partner_id': self.partner_id.id}
    return action

默认银行帐户菜单操作的 xml 或外部 ID 是 base.action_res_partner_bank_account_form

并尝试使用正确的模型:ir.actions.act_window

或者另一种方法是使用 self.env.ref(<xml_id>).read()[0]

def action_bank_details_preview(self):
    action_xml_id = 'base.action_res_partner_bank_account_form'
    action = self.env.ref(action_xml_id).read()[0]
    action['domain'] = [('partner_id','=',self.partner_id.id)]
    action['context'] = {'default_partner_id': self.partner_id.id}
    return action