odoo - Odoo 11 中的自定义过滤器
问题描述
默认情况下,Odoo 带有一堆自定义过滤器,可以配置为“包含”、“已设置”、“未设置”。我想知道如何制作一个像它开头的自定义过滤器。我能够阅读文档如何添加更多字段进行搜索,但不能阅读如何添加更多操作进行搜索。
我可以做些什么来使这种基本的搜索形式成为可能?大多数 sql 后端都内置了基本的 LIKE 匹配,我如何在 Odoo 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
推荐阅读
- websocket - 如何为 Hanami 测试 WebSockets?
- symfony - Symfony:从未调用过自定义验证器
- r - 通过逐元素向量比较找到最小差异和对应值的最佳方法是什么?
- java - 日志写入方法中的 Sonarlint 投诉
- c# - 如何从用户属性中获取 RouteData.Values["action"].ToString()
- arrays - 在keras中实现切片层
- django - TinyMCE 没有出现在 Django 管理员中
- laravel - 在 laravel 路由函数参数中添加 vue.js 变量
- sql - 具有以下条件的文件中读取/写入对象的最佳方法是什么
- java - 线程“main”中的异常 java.util.InputMismatchException / Java & Netbeans8