跳至内容
菜单
此问题已终结
2 回复
4334 查看

Hello everybody, In many2one field, when I put some caracters the autocomplete return all strings contains these caracters. For example if I put "ma" the autocomplete return ("image","manager","roma" ...). What I want is that the autocomplete must return exactly the sting which start with for example "ma" not witch contains "ma" in everywhere (at first, middle or last). So where and which file I must modify. Thank you.

形象
丢弃

Do you need this feature for all many2one fields or only for a particular object ?

编写者

I need it for a particular object.

最佳答案

I suggest you to override the name_search() method of your object like that:

def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
    if not args:
        args = []
    if context is None:
        context = {}
    ids = []
    name = name + '%'
    cr.execute("SELECT id FROM your_object_table WHERE name like %s", (name,))
    ids = cr.dictfetchall()
    return self.name_get(cr, uid, ids, context)

let me know if it works

形象
丢弃
编写者

Thank you very much brother :) it works perfectly ;) thanks again.

hey should we create another table for that field?

hey should we create another table/class for that field? I need it for particular object

hey should we create another table/class for that field? I need it for particular object

编写者 最佳答案

I need it for a particular object.

形象
丢弃