odoo relate用法

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属性 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值