欢迎访问Odoo亚太地区金牌服务机构·开源智造(OSCG)    400-900-4680  sales@oscg.cn 
Language/语言  简体中文       English       日本語    
如何在Odoo中使用name_get

在 Odoo ERP 中,每当我们发出报价、销售订单,或在任何情况下输入产品名称时,我们都能看到在下拉列表中显示您可能要选择的产品选项的。在此列表中,产品名称前面有一个称为内部参考的独特代码,用户可以从两个或两个以上同名产品中选择到准确的产品。

使用 Odoo 中的name_get()即可实现该功能

这是name_get()的记录集信息,

Model.name_get() ? [(id, name), ...]

现在让我们看看如何定义model内的name_get()功能,

在这里,我有一个自定义模型'Profit centers',它有2个字段,如下图所示

how-to-use-of-name-get-function-in-odoo

现在,每当我调用此模型使用其他型号之间的 Many2one 关系时,只有Profit Center利润中心名称显示在下拉列表中

how-to-use-of-name-get-function-in-odoo

所以,我们使用Odoo 中的name_get()功能来添加每个利润中心的短名称,

首先我们定义model"Profit.center"内的name_get(),

定义name_get ()

class ProfitCenterInherited(models.Model):     _inherit = 'profit.center'    def name_get(self):result = []    	for rec in self:result.append((rec.id, '%s - %s' % (rec.short_name,rec.name)))    	return result

这里的"short_name"和"name"分别是利润中心简称和利润中心名称的技术名称。

我们运行此代码,可以看到所需的输出(如下文所示)

how-to-use-of-name-get-function-in-odoo

参考这种方式,我们可以定义任何模型中的name_get()功能,以便更好地澄清数据,并帮助用户从列表中选择到确切的项目。


Odoo货运管理功能详解