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

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

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

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

Openerp 中的 domain



  • oe中的domain多用于自定义搜索条件。<br /><br />domain中的单个条件是一个三个元素组成的元组。第一个是对象的一个column,也就是字段名;第二个是比较运算符=, !=, &gt;, &gt;=, &lt;, &lt;=, like, ilike, in, not in, child_of, parent_left, parent_right;第三个就是用来比较的值了。多个条件用“|”(or),“&”(and),“!”(no)逻辑运算符链接。逻辑运算符作为前缀放置于条件前面。“|”与“&”必须两个条件链接,“!”对一个条件取反。默认逻辑运算符为“&”。<br /><br />举个例子:<br /><br />['|','|',('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])]<br /><br /><br />这个例子的意思是:<br /><br />['|',<br /><br />'|',('group_ids','in',[g.id for g in user.groups_id]), ('user_id',  '=', user.id), <br /><br />'&', ('user_id', '=', False),  ('group_ids','=',False), <br /><br /> '|',<br /><br />'|', ('company_id','=',False),  ('company_id','child_of',[user.company_id.id]),<br /><br />('company_id.child_ids','child_of',[user.company_id.id])]<br /><br />写个容易看的方式:<br /><br /><br />(('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])



  • oe中的domain多用于自定义搜索条件。<br /><br />domain中的单个条件是一个三个元素组成的元组。第一个是对象的一个column,也就是字段名;第二个是比较运算符=, !=, &gt;, &gt;=, &lt;, &lt;=, like, ilike, in, not in, child_of, parent_left, parent_right;第三个就是用来比较的值了。多个条件用“|”(or),“&”(and),“!”(no)逻辑运算符链接。逻辑运算符作为前缀放置于条件前面。“|”与“&”必须两个条件链接,“!”对一个条件取反。默认逻辑运算符为“&”。<br /><br />举个例子:<br /><br />['|','|',('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])]<br /><br /><br />这个例子的意思是:<br /><br />['|',<br /><br />'|',('group_ids','in',[g.id for g in user.groups_id]), ('user_id',  '=', user.id), <br /><br />'&', ('user_id', '=', False),  ('group_ids','=',False), <br /><br /> '|',<br /><br />'|', ('company_id','=',False),  ('company_id','child_of',[user.company_id.id]),<br /><br />('company_id.child_ids','child_of',[user.company_id.id])]<br /><br />写个容易看的方式:<br /><br /><br />(('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])



  • 精彩!



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



  • 谢谢分享!!!



  • 非常好!要顶!



  • 很好,学习了,谢谢分享



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



  • 不错



  • ;D很好,学习了



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


  • 管理员

    [quote author=a136794drt link=topic=5864.msg30713#msg30713 date=1437546279]<br />domain好像并不适用model中的one2many字段,试过多次,没有过滤。<br />[/quote]<br /><br /><br />不知道你的domain语句是怎样的呢?实际上是适用x2m字段的,odoo默认模块就有这样的例子:<br />[code]['|', ('message_follower_ids','in',[user.partner_id.id]), ('partner_id.id','=',user.partner_id.id)][/code]


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待