odoo search 使用等号匹配,并忽略前后空格

因为默认是ilike,会出现索引失效,效率低下

对于订单号之类的查询,改为等号匹配非常有必要

从500万订单中找到对应订单,查询时间从2s->0.1s的提升

appfan_blog_odoo_search

在javascript中添加strip函数

1
2
3
4
5
6
7
8
setTimeout(function () {
    py.str.strip = function () {
        return py.str.fromJSON(this._value.trim());
    };
    py.str.trim = function () {
        return py.str.fromJSON(this._value.trim());
    };
}, 3000);

在xml里指定等号,并忽略输入的空格

1
<field name="order_no" filter_domain="[('order_no','=',self.strip())]"/>