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屬性
待完善。
