天天看點

odoo/openerp 多字段搜尋(name_search)

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]
           
odoo/openerp 多字段搜尋(name_search)

要實作内容過濾還應該添加方法 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()
           
odoo/openerp 多字段搜尋(name_search)

非常又用得技巧,原文:http://jingyan.baidu.com/article/00a07f3856292582d028dc39.html