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]

http://blog.csdn.net/shanzhizi


要实现内容过滤还应该添加方法 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://blog.csdn.net/shanzhizi


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


发布了245 篇原创文章 · 获赞 357 · 访问量 268万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章