
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字段。