Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

Odoo的XML-ID


  • 管理员

    我们知道Odoo的模块里XML文件里定义的每条记录都可以设置一个id,我们称此为XML-ID或外部ID。这个外部ID和数据库ID之间的映射关系保存在id.model.data表中。我们在代码中可以通过self.env.ref('xxx-xml-id')来引用这条记录。你知道吗?事实上你所定义的模型和字段也有自己的XML-ID的,猜猜看sale.field_sale_order__partner_id 这个id表示什么?



  • @digitalsatori 校长,你好!表面看来:sale.field_sale_order__partner_id这个id应该表示是Sale Order的Customer ID, 但,通过ViewMetadata或导出Sale Order的Customer ID都不是这个id,如下:是XML_ID: base.res_partner_3,请教:XML_ID的赋值规则是怎样的呢?谢谢!
    4a5b29fa-55fc-494f-ba27-17d6932066b8-image.png


  • 管理员

    哈哈,还真有人回应我的问题。
    这句话是关键:

    事实上你所定义的模型和字段也有自己的XML-ID的

    你的截图中的XML-ID对应的是保存在res_partner表中的一条记录。而sale.field_sale_order__partner_id 对应的是保存在ir_model_fields表中的一条记录。
    你现在应该能说得清这条记录的含义了吧?