首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何更改Odoo记录的“保存”按钮的行为?

在Odoo中,可以通过继承和重写现有模型的方法来更改“保存”按钮的行为。具体步骤如下:

  1. 创建一个自定义模块,可以命名为custom_module
  2. custom_module模块的models.py文件中,导入需要继承的模型类和相关依赖:
代码语言:txt
复制
from odoo import models, fields, api
  1. 创建一个新的模型类,继承需要更改“保存”按钮行为的模型类,例如res.partner
代码语言:txt
复制
class ResPartner(models.Model):
    _inherit = 'res.partner'
  1. 在新模型类中,重写需要更改的方法,这里是write()方法,该方法在点击“保存”按钮时被调用:
代码语言:txt
复制
    @api.multi
    def write(self, vals):
        # 自定义逻辑
        # ...
        
        # 调用父类的write()方法,保留原有行为
        return super(ResPartner, self).write(vals)

在上述代码中,可以根据需求添加自定义逻辑,例如在保存记录之前或之后执行特定操作。

  1. 最后,在__init__.py文件中,将新模型类导入以使其生效:
代码语言:txt
复制
from . import models

完成上述步骤后,保存并安装custom_module模块,然后重新启动Odoo服务。此时,Odoo记录的“保存”按钮的行为将按照自定义的方式进行处理。

请注意,以上步骤仅适用于更改Odoo内部模型的“保存”按钮行为。对于其他模块或特定场景,可能需要采用不同的方法进行定制化开发。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • ODOO配置文件/etc/odoo.conf配置详解

    Odoo是一个多租户系统:一个Odoo系统可以运行并服务于多个数据库实例。它也是高度可定制的,定制(从加载的模块开始)取决于“当前数据库”。 作为登录公司用户使用后端(web客户端)时,这不是问题:登录时可以选择数据库,然后加载自定义设置。 但是,对于没有绑定到数据库的未登录用户(门户、网站)来说,这是一个问题:Odoo需要知道应该使用哪个数据库来加载网站页面或执行操作。如果没有使用多租户,这不是问题,只有一个数据库可以使用,但是如果有多个数据库可以访问,Odoo需要一个规则来知道它应该使用哪一个。 这是--db filter的目的之一:它指定如何根据所请求的主机名(域)选择数据库。该值是一个正则表达式,可能包括动态注入的主机名(%h)或访问系统所通过的第一个子域(%d)。 对于生产中托管多个数据库的服务器,特别是在使用网站时,必须设置dbfilter,否则许多功能将无法正常工作。

    03
    领券