首页 > 解决方案 > Odoo 11 中的自定义过滤器

问题描述

默认情况下,Odoo 带有一堆自定义过滤器,可以配置为“包含”、“已设置”、“未设置”。我想知道如何制作一个像它开头的自定义过滤器。我能够阅读文档如何添加更多字段进行搜索,但不能阅读如何添加更多操作进行搜索。

我可以做些什么来使这种基本的搜索形式成为可能?大多数 sql 后端都内置了基本的 LIKE 匹配,我如何在 Odoo 11 中将其公开给最终用户。

标签: odooodoo-11

解决方案


在插件下的 Github 存储库中的 Odoo 11 中,您可以找到 Web 模块,该模块托管基本的 Web 框架和相关文件。在web模块下,有一个文件叫search_filters.js

此文件包含扩展搜索菜单的小部件(显示自定义过滤器的小部件)。这个小部件的工作方式是每个基本原语(文本、数字、id)都注册了预定义的操作。

在文本搜索的情况下,它有标准的 contains、equals、is set、is not set 命令。所有这些都使用标准运算符 ( 等) 构造了一个普通的域过滤器ilike, !=, =)。因此,为了实现 start with 和 end with 是添加一个新条目,并修改 javascript 以生成正确的域过滤器,例如=ilike=query%=ilike=%query


推荐阅读