odoo 中一個many2one字段要顯示多列。要在對應的類中添加方法name_get
如:
@api.multi
@api.depends('name','project_name')
def name_get(self):
return [(r.id,(r.name +'('+(r.project_name or _('Default'))+')' )) for r in self]
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TO2UDMyQTN5AzMwYDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
要實作内容過濾還應該添加方法 name_search
@api.model
def name_search(self,name='',args=None,operator='ilike',limit=100):
args = args or []
domain = []
if name:
domain = ['|',('name',operator,name),('project_name',operator,name)]
pos = self.search(domain + args,limit=limit)
return pos.name_get()
非常又用得技巧,原文:http://jingyan.baidu.com/article/00a07f3856292582d028dc39.html