【问题标题】:What is an external id and where we can use it in Odoo?什么是外部 id,我们可以在 Odoo 的什么地方使用它?
【发布时间】:2016-04-04 23:38:19
【问题描述】:

如果有人知道什么是外部 id 以及它的用途,我将不胜感激。

我没有在网上找到相关资源。

提前致谢。

【问题讨论】:

  • 但是你从哪里得到问题要问的问题?

标签: odoo odoo-8 odoo-9 odoo-view


【解决方案1】:

外部 ID,也称为 XML Id,是数据记录的标识符。 Odoo 使用基本模型ir.model.data 将标识符与对应的实际数据库 ID 进行映射。

每当另一个数据记录或某些服务器端 Python 代码引用外部 ID 时,ir.model.data 允许将该字符串标识符转换为在此特定数据库中用于它的特定记录 ID。

【讨论】:

  • 外部id的唯一性怎么样?外部 id 应该是全局唯一的还是每个模块都是唯一的?在您自己的模块中创建外部 id 是否有任何约定?
  • 它们在模型中必须是唯一的。完整标识符<module>.<external_id> 是全局唯一的。对于命名约定,最简单的方法是查看官方模块中所做的工作。
  • 感谢您的解释!
【解决方案2】:

get_external_id

有点废话,可能不会返回 id:它只是获取一个随机的现有 xid,但如果当前没有与记录关联的 xid,则不会生成一个。并且在 RPC 中使用 xid 操作并不是很有趣。

示例:

# backwards compatibility
get_xml_id = get_external_id
_get_xml_ids = _get_external_ids

【讨论】:

  • 我需要解释 external id ,因为我对此没有明确的想法
【解决方案3】:

通过调试模式然后转到记录的表单,然后从调试图标中的查看元数据左上角。
您可以在请求中通过YOUR_MODELID在数据库中找到它:

select module,name
from ir_model_data
where model = 'YOUR_MODEL' and res_id=ID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2021-04-26
    • 2012-05-06
    • 2014-05-27
    • 2010-12-26
    相关资源
    最近更新 更多