我有一个column
我目前有一个many2one
字段,其中来自另一个类的员工Name
。问题是我需要的不仅仅是名字,我想带Name + last name
。
我知道我必须使用function field
,但我不明白如何告诉新功能在哪里寻找值。
如果有人可以指出我可以遵循的文档或类似的例子,我将非常感激。
谢谢!
答案 0 :(得分:1)
您可以使用'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字段中显示该合作伙伴的“名字”和“姓氏”。
因此,您必须在模型“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'中,当您尝试查看合作伙伴字段时,当您点击该多个合作伙伴字段时,它将显示“名字”以及“姓氏”。因此,您不需要任何'sale.order'模型,也不必将任何字段定义为'field.function'。