跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. 多对多筛选

多对多筛选

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

    [图片],一号字段时多对多,关联res.users模型,2号字段关联另一个模型。[图片],这是2号关联的模型,
    1号字段取2号的engineers的值,怎么在1号字段进行筛选啊

    1 条回复 最后回复
    0
    • 茹 离线
      茹 离线
      茹小红
      写于 最后由 编辑
      #2

      0_1543826541384_7bef4bcd-b02a-4f6e-b70e-ee3c5ef052dd-image.png
      0_1543826525392_aec8698c-6431-406a-b156-4722bd3f5191-image.png

      1 条回复 最后回复
      0
      • digitalsatoriD 离线
        digitalsatoriD 离线
        digitalsatori 管理员
        写于 最后由 编辑
        #3

        把assign to的字段设置成related字段关联到discipline.engineer就可以了,比如:

        assign_to = fields.Many2many(related='discipline.engineer',  readonly=True)
        

        【上海先安科技】(tony AT openerp.cn)

        茹 2 条回复 最后回复
        0
        • 茹 离线
          茹 离线
          茹小红
          在 回复了 digitalsatori 最后由 编辑
          #4

          @digitalsatori 非常感谢您的回复,需求是不能用 related ,只能选2号中的 engineer 的值,有方法吗

          digitalsatoriD 1 条回复 最后回复
          0
          • digitalsatoriD 离线
            digitalsatoriD 离线
            digitalsatori 管理员
            在 回复了 茹小红 最后由 编辑
            #5

            @茹小红

            可以对Disciplane字段写 onchange 方法,然后该方法返回一个"Assigned to"字段的domain

            【上海先安科技】(tony AT openerp.cn)

            1 条回复 最后回复
            0
            • 茹 离线
              茹 离线
              茹小红
              在 回复了 digitalsatori 最后由 编辑
              #6

              @digitalsatori
              1号 assign_to = Manyd2many('res.users', domain="[('id', 'in', discipline_id.engineer_ids)]")
              2号 engineer_ids = fields.Many2many('res.users', string='Engineers')
              就会报这个错
              476ae5f8-3188-41f7-9c7e-61318c5d493f-image.png

              1 条回复 最后回复
              0
              • digitalsatoriD 离线
                digitalsatoriD 离线
                digitalsatori 管理员
                写于 最后由 digitalsatori 编辑
                #7

                供你参考:

                            @api.onchange('discipline')
                            def _onchange_discipline(self):
                            return {
                                'domain': {'assignedTo': [('id', 'in', self.discipline.engineers.id)]},
                            }

                【上海先安科技】(tony AT openerp.cn)

                1 条回复 最后回复
                0
                • K 离线
                  K 离线
                  Kowky
                  写于 最后由 编辑
                  #8

                  @digitalsatori 在 多对多筛选 中说:

                  assign_to = fields.Many2many(related='discipline.engineer', readonly=True)

                  个人感觉可以参考系统里面的客户 或者供应商的地址城市 的字段吧

                  1 条回复 最后回复
                  0

                  • 登录

                  • 没有帐号? 注册

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