跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. Domain中 like 的多种用法

Domain中 like 的多种用法

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
3 帖子 2 发布者 4.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • C 离线
    C 离线
    ccdos
    写于 最后由 编辑
    #1

    今天 在 search 中有个 domain 要写

    我需要 匹配的是,
    字段左边 的值, 但是  like 操作 匹配的是 字段任意位置的值.


    比如:
    [('nwtcode', 'like',metric_spec)]
    跟踪sql 发现产生的 sql 条件是这样的

    AND  ("ia_multi_layers"."nwtcode" like '%8980%'))

    群里请教后 总监 提示 '=like'
    于是

    [('nwtcode', '=like',metric_spec+'%')]
    产生的 sql 条件是 :
    AND  ("ia_multi_layers"."nwtcode" like '89
    80%'))

    就是说 =like 操作符时, 直接使用表达式的值 作为 匹配模版



    ===========

    搜索 代码, 发现还有更多的 操作符, 文档中未说明
    openerp\osv\expression.py  line:159

    TERM_OPERATORS = ('=', '!=', '<=', '<', '>', '>=', '=?', '=like', '=ilike',
                      'like', 'not like', 'ilike', 'not ilike', 'in', 'not in',
                      'child_of')



    1 条回复 最后回复
    0
    • mrshellyM 离线
      mrshellyM 离线
      mrshelly
      写于 最后由 编辑
      #2

      喔顶....

      1 条回复 最后回复
      0

      • 登录

      • 没有帐号? 注册

      • 登录或注册以进行搜索。
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 标签
      • 热门
      • 用户
      • 群组