跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. Many2many字段过滤问题,新人求助

Many2many字段过滤问题,新人求助

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

    表A

    class ReleaseOrder(models.Model):
        _name = 'release.order'
    
        interview_ids = fields.One2many('maternity_matron.interview', 'order_interview_id', string=u'邀请面试')
    

    表B

    class InterviewMaternityMatron(models.Model):
        _name = 'maternity_matron.interview'
    
        order_interview_id = fields.Many2one('release.order')
        maternity_matron_ids = fields.Many2many('maternity_matron.filter', 'interview_id', string=u'选择月嫂')
    

    表C

    class FilterMaternityMatron(models.Model):
        _name = 'maternity_matron.filter'
    
        order_id = fields.Many2one('release.order')
        name = fields.Char(string=u'姓名')
        id_number = fields.Char(string=u'身份证号')
        phone_number = fields.Char(string=u'手机号')
        customer_feedback = fields.Selection([
            ('wait', '观望'),
            ('not satisfied', '不满意'),
            ('signing', '已签约')
        ], string=u'客户反馈')
    

    需求:
    在maternity_matron.interview表的maternity_matron_ids字段中根据maternity_matron.filter表中order_id的值进行过滤,应该如何实现,新人求教

    注:
    release.order中有函数,将当前记录的id值写入maternity_matron.filter表的order_id中

    H 1 条回复 最后回复
    0
    • H 离线
      H 离线
      hui
      在 回复了 56410725 最后由 编辑
      #2

      @56410725
      我觉得可以在maternity_matron.filter的name_search中实现,自己写domain。

      1 条回复 最后回复
      0
      • 5 离线
        5 离线
        56410725
        写于 最后由 编辑
        #3

        兄弟,有没有相关的代码可以参考一下,没接触过name_search毫无头绪。。

        H 1 条回复 最后回复
        0
        • H 离线
          H 离线
          hui
          在 回复了 56410725 最后由 hui 编辑
          #4

          @56410725

              @api.model
              def name_search(self, name, args=None, operator='ilike', limit=100):
                  args = args or []
                  domain = []
                  if name:
                      domain = ['|', '|', '|', ('robot_type_id', operator, name), ('robot_part_location_id', operator, name),
                                ('robot_part_category_id', operator, name), ('robot_lcm', operator, name)]
                  multi_fields = self.search(domain + args, limit=limit)
                  return multi_fields.name_get()
          
          1 条回复 最后回复
          0
          • 5 离线
            5 离线
            56410725
            写于 最后由 编辑
            #5

            请教一下,这个参数里面的name对应的是什么

            H 1 条回复 最后回复
            0
            • H 离线
              H 离线
              hui
              在 回复了 56410725 最后由 编辑
              #6

              @56410725
              这里的name对应的是视图中该字段显示的input框里面的值

              1 条回复 最后回复
              0

              • 登录

              • 没有帐号? 注册

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