跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. Many2one和one2many的疑问

Many2one和one2many的疑问

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

    我看了下开发文档,

    one2many: fields.one2many( 'other.object.name', 'Field relation id', 'Fieldname', optional parameter)
    


    而many2one 是[code( 'other.object.name', 'Field Name',optional parameters)][/code]
    举个例子,比如:

    'training_ids': fields.one2many ( ‘openacademy.training’,‘instructor_id’,'Trainings')
    


    是指一门培训课程有多个培训师,课程和培训师间是一对多(one2many)的关系

    'instructor_id': fields.many2one('openacademy.instructor','Instructor' )
    


    是指多个培训师提供一门课程
    这样的话为什么many2one 不用 'Field relation id',难道可以直接默认到name这个字段吗?

    1 条回复 最后回复
    0
    • mrshellyM 离线
      mrshellyM 离线
      mrshelly
      写于 最后由 编辑
      #2

      对, 你的难道质疑是对的.

      你尝试一下使用 xmlrpc 的 read 方法读出一条对象数据, 你会发现  many2one 的数据返回是

      'instructor_id': (1, 'XXooOOxx'),

      返回的是 tuple 还是 list 我忘记了.但是有一点可以清楚地知道.  many2one 字段 会返回引用记录的 (id, name)

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

        如果这样的话我们要对应别的字段是不是有两个办法,一个是看看能不能重载,另一个是用related字段。

        1 条回复 最后回复
        0

        • 登录

        • 没有帐号? 注册

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