如何在 OpenERP (odoo) 中使用 many2one 字段同时显示两个字段?
How to use a many2one field to display two fields together in OpenERP (odoo)?
我有一个 column
,我目前有一个 many2one
字段,该字段从另一个 class 获取一名员工的 Name
。问题是我需要的不仅仅是名字,我想带Name + last name
。
我知道我必须使用 function field
但我不明白如何告诉新函数在哪里寻找值。
如果有人能指出我的文档或我可以遵循的类似示例,我将非常感激。
谢谢!
您可以使用'name_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' 和 many2one。因此,假设您想在该 many2one 字段中显示该合作伙伴的 'First Name' 和 'Last Name'。
因此,您必须在模型 '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' 中,当您尝试查看合作伙伴字段时,当您单击那个 many2one 合作伙伴字段时,它也会向您显示 'First Name' 'Last Name' .所以你不需要任何 'sale.order' 模型,也不需要将任何字段定义为 'field.function'.
我有一个 column
,我目前有一个 many2one
字段,该字段从另一个 class 获取一名员工的 Name
。问题是我需要的不仅仅是名字,我想带Name + last name
。
我知道我必须使用 function field
但我不明白如何告诉新函数在哪里寻找值。
如果有人能指出我的文档或我可以遵循的类似示例,我将非常感激。
谢谢!
您可以使用'name_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' 和 many2one。因此,假设您想在该 many2one 字段中显示该合作伙伴的 'First Name' 和 'Last Name'。
因此,您必须在模型 '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' 中,当您尝试查看合作伙伴字段时,当您单击那个 many2one 合作伙伴字段时,它也会向您显示 'First Name' 'Last Name' .所以你不需要任何 'sale.order' 模型,也不需要将任何字段定义为 'field.function'.