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

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

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

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

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

Many2one和one2many的疑问



  • 我看了下开发文档,

    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这个字段吗?



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

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

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

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



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


Log in to reply