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

如何继承和修改销售订单行中的Name- Odoo14

在Odoo14中,要继承和修改销售订单行中的Name,可以通过创建一个自定义模块来实现。

首先,创建一个新的模块,可以命名为"custom_sales_order"。在该模块的目录结构中,创建一个名为"models"的文件夹,并在其中创建一个名为"sale_order_line.py"的Python文件。

在"sale_order_line.py"文件中,导入必要的模块和类,如下所示:

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

然后,创建一个继承自"sale.order.line"的新类,并添加一个新的字段来修改订单行的名称。例如,我们可以添加一个名为"custom_name"的字段:

代码语言:txt
复制
class SaleOrderLine(models.Model):
    _inherit = 'sale.order.line'

    custom_name = fields.Char(string='Custom Name')

接下来,我们需要重写"create"方法,以便在创建订单行时更新名称。在新类中添加以下代码:

代码语言:txt
复制
    @api.model
    def create(self, vals):
        if 'custom_name' not in vals:
            vals['custom_name'] = 'Custom Name: ' + vals.get('name', '')
        return super(SaleOrderLine, self).create(vals)

这段代码将在创建订单行时检查是否提供了自定义名称。如果没有提供,则使用默认的名称,并在前面添加"Custom Name: "。

最后,将新类注册到Odoo系统中。在模块的"init.py"文件中添加以下代码:

代码语言:txt
复制
from . import models

完成上述步骤后,保存并安装模块。然后,当您创建或修改销售订单行时,您将看到一个新的字段"Custom Name"。如果您没有提供自定义名称,它将自动添加"Custom Name: "前缀。

这是一个示例模块,您可以根据自己的需求进行修改和扩展。请注意,这只是一个简单的示例,实际情况可能更复杂,具体取决于您的业务需求。

推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)和腾讯云数据库(https://cloud.tencent.com/product/cdb)可用于支持Odoo14的部署和数据存储。

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

相关·内容

没有搜到相关的沙龙

领券