odoo开发笔记 -- related用法

related:字面意思-关联字段,表示本字段引用关联表中的某字段。

格式为:fields.related(关系字段,引用字段,type,relation,string,...),关系字段是本对象的某字段(通常是one2many or many2many),引用字段是通过关系字段关联的数据表的字段,type是引用字段的类型,如果type是many2one or many2many,relation指明关联表。

示例:

address = fields.one2many('res.partner.address','partner_id','Contacts'),
city = fields.related('address','city',type='char',string='City'),
country = fields.related('address','country_id',type='many2one',relation='res.country',string='Country'),

这里,city引用address的city字段,country引用address的country对象。

在address的关联对象res.partner.address中,

country_id是many2one类型的字段,

所以type='many2one',relation='res.country'。

解读:address是一个one2many说明它是一个res.partner.address对象,city就依赖address对象的city字段,

去res.partner.address中查看city是char类型,所以city type=‘char’

country依赖address的country_id字段,

同样的方式,去res.partner.address中查看是many2one类型,对应'res.country',所以也是many2one

 

注意:

 related使用时候,需要在相应的py文件字段上加readonly属性 

待完善。

 

posted @ 2019-11-28 19:40  hello-Jesson  阅读(4719)  评论(0编辑  收藏  举报