如何使用多个字段在OpenERP(odoo)中同时显示两个字段?

如何使用多个字段在OpenERP(odoo)中同时显示两个字段?,openerp,odoo,Openerp,Odoo,我有一个列,其中我当前有一个manyOne字段,该字段带来另一个类别的员工的姓名。问题是我需要的不仅仅是名字,我想带上name+last name 我知道我必须使用函数字段,但我不知道如何告诉新函数在哪里查找值 如果有人能给我提供文档或类似的例子,我会非常感激 谢谢 您可以使用“name\u get”方法来实现这一点 def name_get(self,cr,uid,ids,context=None): result = {} for record in self.browse(

我有一个
,其中我当前有一个
manyOne
字段,该字段带来另一个类别的员工的
姓名
。问题是我需要的不仅仅是名字,我想带上
name+last name

我知道我必须使用
函数字段
,但我不知道如何告诉新函数在哪里查找值

如果有人能给我提供文档或类似的例子,我会非常感激


谢谢

您可以使用“name\u get”方法来实现这一点

def name_get(self,cr,uid,ids,context=None):
    result = {}
    for record in self.browse(cr,uid,ids,context=context):
        result[record.id] = record.name + " " + record.lastname

    return result.items()
以下只是一个例子:

有一个模型“sale.order”,其中有一个模型“res.partner”,与manyOne一样。假设您想在manyOne字段中显示该合作伙伴的“名字”和“姓氏”

因此,您必须在“res.partner”模型中编写代码,而不是在“sale.order”模型中编写代码

下面是“res.partner”模型中的代码

class res_partner_extention(osv.osv):

_inherit = 'res.partner'

def name_get(self,cr,uid,ids,context=None):
    result = {}
    for partner in self.browse(cr,uid,ids,context=context):
        result[partner.id] = partner.name + " " + partner.lastname

    return result.items()

现在,在“sale.order”中,当您尝试查看partner字段时,当您单击ManyOne partner字段时,它将显示“First Name”和“Last Name”。因此,您不需要任何“sale.order”模型,也不需要将任何字段定义为“field.function”。

非常感谢Hardik,
record
应该是存储
name
lastname
的模型的名称?是的,它是在manyOne字段中使用的模型。您必须在that model/class中编写这个建议的方法。您好,您能分享一下如何调用这个字段吗。我使用的是这个
'Name':fields.function(Name\u get,type='manyOne',method=True,string='Name')
,但它给了我这个错误
Field sim.xp.namelastname和未知的comodel\u Name None
。我不确定自己是否完全理解
name\u get
如何从其他类中获取所需字段。再次感谢汉克斯!我用错误的模型编写代码!非常感谢你的帮助,我真的很感激。