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

如何继承Odoo12中的One2many字段?

在Odoo12中,要继承一个One2many字段,可以按照以下步骤进行操作:

  1. 创建一个新的模块或在现有模块中添加代码。
  2. 导入必要的模块,包括modelsfields
  3. 创建一个新的模型类,继承自要继承的模型类。
  4. 定义一个One2many字段,指定相关的模型和反向关联字段。
  5. 使用@api.depends装饰器定义一个计算字段,用于更新One2many字段的值。
  6. 重写createwrite方法,以确保One2many字段的正确更新。

下面是一个示例代码,演示如何继承Odoo12中的One2many字段:

代码语言:txt
复制
from odoo import models, fields, api

class MyModel(models.Model):
    _inherit = 'original.model'  # 要继承的模型

    new_field = fields.One2many('related.model', 'reverse_field', string='New Field')

    @api.depends('new_field')
    def _compute_new_field(self):
        # 计算逻辑
        pass

    @api.model
    def create(self, vals):
        # 创建逻辑
        return super(MyModel, self).create(vals)

    def write(self, vals):
        # 写入逻辑
        return super(MyModel, self).write(vals)

在上面的示例中,MyModel继承了original.model,并添加了一个名为new_field的One2many字段。related.model是与new_field相关联的模型,reverse_field是反向关联字段。

您可以根据实际需求修改示例代码,并根据需要添加其他字段、方法和逻辑。

腾讯云提供了一系列云计算产品,包括云服务器、云数据库、云存储等,您可以根据具体需求选择适合的产品。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云产品的信息。

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

相关·内容

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

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

    03
    领券