You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Odoo邮件列表筛选器中设置‘不以...开头’过滤规则?

解决Odoo 15动态邮件列表筛选邮编不以K开头的问题

正确的筛选域表达式可以用两种方式实现:

方式一:正则表达式匹配(推荐)

利用Odoo支持的正则操作符!~(表示不匹配正则规则),结合^K(正则中表示以K开头),同时处理邮编为空的情况(避免空值被误排除):

["&", ["is_blacklisted", "!=", True], ["|", ["zip", "=", False], ["zip", "!~", "^K"]]]
  • ^K 精准匹配以K开头的邮编字符串
  • !~ 表示筛选不匹配该规则的记录,即邮编不以K开头
  • 如果不需要保留邮编为空的联系人,可简化为:
["&", ["is_blacklisted", "!=", True], ["zip", "!~", "^K"]]

方式二:修正=ilike的取反写法

如果习惯使用前缀匹配逻辑,正确的取反写法是针对=ilike操作符添加not,表达式如下:

["&", ["is_blacklisted", "!=", True], ["|", ["zip", "=", False], ["zip", "not =ilike", "K%"]]]
  • =ilike 是前缀匹配(仅匹配以K开头的邮编),not =ilike 则表示筛选前缀不是K的记录
  • 同样保留空值处理分支,确保邮编为空的联系人不会被错误排除

之前写法失效的原因

你之前使用的["zip","not ilike","K%"]中,ilike是任意位置包含K的模糊匹配,因此not ilike会排除所有邮编里只要有K的记录,而非仅排除以K开头的。只有针对前缀匹配的=ilike取反,才能实现“不以K开头”的筛选需求。

内容的提问来源于stack exchange,提问作者HoRn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 02:25:08