odoo 的参考字段 reference (Not related) 字段


odoo 的参考字段 reference (Not related) 字段

www.chinamaker.net 2017-07-25 09:41:00 admin

odoo 的参考字段 Reference(Not related) 字段
在 odoo 中,如果我们能确定模型之间的关系,我们可用 related 来关联目标模型的数据。如果我们不知道或者说事先不能决定目标模型时,如何能动态的关联目标模型呢?这种情况你需要 reference。使用 Referce 字段,我们将目标模型的选择权留给用户。
首先我们设想一个业务场景: 假定我们有一个通用的报废模块,报废可能是销售出库报废、采购入库报废、生产领料报废等,我们需要跟踪报废的来源,以便实现质量跟踪或者成本核算等业务逻辑。那么在 odoo中怎么实现呢?
首先我们要定义一个方法,这个方法返回一个对象列表,用户可以从中选择报废动作的关联对象
 
class ScrappedModel(models.Model):
#...
@ api.model
def _referencable_models(self):
        models = self.env ['res.request.link'].search([])#返回一个模型列表
 
然后,我们添加参考字段并使用上一个函数提供可选模型的列表:
doc_source = fields.Reference(selection ='_ referencable_models',string ='Reference Document')
然后在视图中把该字段的widget设置为 reference:
   
重启 odoo 升级模块,就可以实现对象的动态关联了。
odoo 的参考字段 reference (Not related) 字段


相关标签 TAG :  字段  


苏州远鼎

运用前沿科学技术,苏州远鼎信息技术有限公司以开源管理软件产品为核心,为企业和政府组织提供软件及服务,是OpenERP(Odoo)专业服务商,中国开源管理软件服务市场的领跑者。

Read More

远鼎产品

联系远鼎

  • 苏州工业园区星湖街328号22栋301
  • +86-0512-69361217
  • odoo@chinamaker.net
  • www.chinamaker.net