name_get 和 name_search
True

@api.multi
@api.depends('name', 'workshop_id')
def name_get(self):
return [(u.id, (u.name + '(' + (u.workshop_id.name or '')+')')) for u in self]

@api.model
def name_search(self, name='', args=None, operator='ilike', content=None, limit=200):
args = args or []
recs = self.browse()
if name:
recs = self.search([('name', operator, name)] + args, limit=limit)
if not recs:
recs = self.search([('workshop_id.name', operator, name)] + args, limit=limit)
return recs.name_get()
name_get 在引用到many2one的时候 都会显示一个默认的name,这个方法就是在用到这个name之前会先跑一遍这个方法

name_search 是改变many2one的搜索结果,举个例子 我通过name_get 在用户名字后面增加了电话 比如 李睿(13541113222)
然后我在 many2one的搜索框中 只有输入名字才能搜到,所以如果要用电话也同样能搜到 就要 用到 name_search 


python traceback捕获并打印异常
True