Odoo 中文社区

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    • Users
    • Groups

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    Openerp 中的 domain

    Odoo 开发与实施交流
    11
    12
    13764
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Q
      qdfulee last edited by

      oe中的domain多用于自定义搜索条件。

      domain中的单个条件是一个三个元素组成的元组。第一个是对象的一个column,也就是字段名;第二个是比较运算符=, !=, >, >=, <, <=, like, ilike, in, not in, child_of, parent_left, parent_right;第三个就是用来比较的值了。多个条件用“|”(or),“&”(and),“!”(no)逻辑运算符链接。逻辑运算符作为前缀放置于条件前面。“|”与“&”必须两个条件链接,“!”对一个条件取反。默认逻辑运算符为“&”。

      举个例子:

      ['|','|',('group_ids','in',[g.id for g in user.groups_id]), ('user_id', '=', user.id), '&', ('user_id', '=', False), ('group_ids','=',False),  '|','|', ('company_id','=',False), ('company_id','child_of',[user.company_id.id]),('company_id.child_ids','child_of',[user.company_id.id])]


      这个例子的意思是:

      ['|',

      '|',('group_ids','in',[g.id for g in user.groups_id]), ('user_id',  '=', user.id),

      '&', ('user_id', '=', False),  ('group_ids','=',False),

      '|',

      '|', ('company_id','=',False),  ('company_id','child_of',[user.company_id.id]),

      ('company_id.child_ids','child_of',[user.company_id.id])]

      写个容易看的方式:


      (('group_ids','in',[g.id for g in user.groups_id]) or ('user_id',  '=', user.id)) or (('user_id', '=', False) and ('group_ids','=',False)) or (('company_id','=',False) or ('company_id','child_of',[user.company_id.id])) or ('company_id.child_ids','child_of',[user.company_id.id])

      1 Reply Last reply Reply Quote 0
      • wjfonhand
        wjfonhand last edited by

        精彩!

        GoodERP -- Odoo China fork

        1 Reply Last reply Reply Quote 0
        • mrshelly
          mrshelly last edited by

          赞......... 写得好....

          1 Reply Last reply Reply Quote 0
          • A
            andytang18 last edited by

            谢谢分享!!!

            1 Reply Last reply Reply Quote 0
            • L
              lux last edited by

              非常好!要顶!

              1 Reply Last reply Reply Quote 0
              • C
                ccdos last edited by

                很好,学习了,谢谢分享

                1 Reply Last reply Reply Quote 0
                • C
                  cnshen last edited by

                  谢谢分享。
                  在楼主的基础上进一步整理了一下,把示例简化了一下。
                  <br / http://www.cnblogs.com/cnshen/p/3189306.html br />

                  1 Reply Last reply Reply Quote 0
                  • C
                    codefans last edited by

                    不错

                    1 Reply Last reply Reply Quote 0
                    • 5
                      570249383 last edited by

                      ;D很好,学习了

                      1 Reply Last reply Reply Quote 0
                      • A
                        a136794drt last edited by

                        domain好像并不适用model中的one2many字段,试过多次,没有过滤。

                        1 Reply Last reply Reply Quote 0
                        • Joshua
                          Joshua 管理员 last edited by

                          [quote author=a136794drt link=topic=5864.msg30713#msg30713 date=1437546279]
                          domain好像并不适用model中的one2many字段,试过多次,没有过滤。
                          [/quote]


                          不知道你的domain语句是怎样的呢?实际上是适用x2m字段的,odoo默认模块就有这样的例子:

                          &#91;&#039;|&#039;, (&#039;message_follower_ids&#039;,&#039;in&#039;,[user.partner_id.id]), (&#039;partner_id.id&#039;,&#039;=&#039;,user.partner_id.id)]
                          

                          【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post