Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

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

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

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

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

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

    One2many字段domain实现, 并使用filter视图中的变量

    Odoo 开发与实施交流
    2
    3
    3275
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • T
      t11t11 最后由 编辑

      [size=14pt]新类
      class my_model(osv.osv):
          _name = "my.model"
          _description = 'abc'
       
          _columns = {
              'product_id': fields.many2one('product.product', u'产品'),
              'move_in': fields.many2one('stock.move', u'入库记录'),
              'location_id': fields.many2one('stock.location', u'在库库位'),
            .........................
      }
      my_model()

      产品类
      class product_product(osv.Model):
          _inherit = 'product.product'   
          _columns = {
              'my_model': fields.one2many('my.model', 'product_id', u'my_model', domain=['&',('move_in','!=',False),('move_in.state','=','done')]),
          }
      product_product()
      [b]本站有贴子说有one2many的domain只能在py文件中实现, 不能在xml文件中实现.[/b]

      [b]视图文件不变, 现在再修改py文件如下:[/b]
      class product_product(osv.Model):
          _inherit = 'product.product'
          _columns = {
              'my_field': fields.function(_get_juan, method=True, string = u'分卷', type='one2many',relation='my_model'),
              }
      product_product()


          def _get_juan(self, cr, uid, ids, name, arg, context=None):
              res = {}
              jids = []
              obj = self.pool.get('my_model')

              for product in self.browse(cr,uid,ids):
                  if context.get('location', False):
                          location_ids = [context['location']]
                  else:
                        location_ids = ........

                  args = [('product_id','=',product.id)]
                  args += [('location_id','in',location_ids)]
                  res[product.id] = obj.search(cr,uid,args)

              return res[/size]

      1 条回复 最后回复 回复 引用 0
      • mrshelly
        mrshelly 最后由 编辑

        感谢分享............

        1 条回复 最后回复 回复 引用 0
        • First post
          Last post