Navigation

    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账号

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

    Many2many 字段下拉框显示数据的过滤

    Odoo 开发与实施交流
    4
    7
    3438
    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.
    • 蚊
      蚊子向前冲 last edited by

      odoo v9
      案例:
      前提:产品已启用多属性,并取消了产品模板根据属性自动创建变体的功能 。
      目标:新建具体产品(product.product)或者编辑具体产品时,属性值(attribute_value_ids) 的可选值为已选产品模板(product_tmpl_id)添加的属性明细行(attribute_line_ids)中的属性值(value_ids)
      这样的过滤如何实现?

      目前尝试过 onchange ,新建的时候是可以,但是保存后,从新编辑,domain 就又不生效了。
          @api.onchange('product_tmpl_id')
          def product_tmpl_values_onchange(self):
              if self.product_tmpl_id:
                  values = self.env['product.attribute.value']
                  attribute_line = self.env['product.attribute.line'].search(
                      [('product_tmpl_id', '=', self.product_tmpl_id.id)])
                  for i in attribute_line:
                      values += i.value_ids
                  return {'domain': {'attribute_value_ids': [('id', 'in', values.ids)]}}
              else:
                  return {'domain': {'attribute_value_ids': [('id', 'in', [])]}}

      o

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

        在视图上设置字段 domain

        1 Reply Last reply Reply Quote 0
        • 蚊
          蚊子向前冲 last edited by

          [quote author=mrshelly link=topic=17622.msg32295#msg32295 date=1464052045]
          在视图上设置字段 domain
          [/quote]
          我的理解只能通过id来过滤了。但是 值 没法写, product template 跟属性值没有直接关系。
          domain = [('id', 'in', [])], value 不知道怎么写。

          product.template one2many --> attribute.line  many2many --> attribute.value

          product.product  many2many --> attribute.value
                                  many2one  --> product.template

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

            many2many 的domain和one2many是一样的,可以直接用对方表的字段过滤  <field name="share_to_ids" widget="many2many_tags"  domain="[('groups_id','=',%(base.group_sale_salesman)d)]"  (share_to_ids是many2many 到user 的 )

            论坛里一以前有相似的帖子,好好翻翻看..

            1 Reply Last reply Reply Quote 0
            • 蚊
              蚊子向前冲 last edited by

              [quote author=开阖-静静 link=topic=17622.msg32308#msg32308 date=1464168595]
              many2many 的domain和one2many是一样的,可以直接用对方表的字段过滤  <field name="share_to_ids" widget="many2many_tags"  domain="[('groups_id','=',%(base.group_sale_salesman)d)]"  (share_to_ids是many2many 到user 的 )

              论坛里一以前有相似的帖子,好好翻翻看..
              [/quote]
              的确可以用those model 的字段,问题是,those model 跟 product.template 没关系。

              具体产品  many2many 属性值
              具体产品 many2one  产品模板
              产品模板 one2many 属性明细行
              属性明细行 many2many 属性值

              现在就是希望  创建或修改具体产品时,选择 产品模板后, 属性值的可选值是 产品模板中所有属性明细行的所有属性值。

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

                描述好混乱,看起来好费劲.....

                用fields_view_get方法吧,想怎么过滤就怎么过滤......

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