什么是外部id?我们可以在Odoo中在哪里使用它?

什么是外部id?我们可以在Odoo中在哪里使用它?,odoo,odoo-8,odoo-9,odoo-view,Odoo,Odoo 8,Odoo 9,Odoo View,如果有人知道什么是外部id,以及它的用途,我将非常感激 我在网上找不到这方面的资料 提前感谢。获取外部id # backwards compatibility get_xml_id = get_external_id _get_xml_ids = _get_external_ids 有点垃圾,可能不会返回id:它只是获取一个随机的现有xid,但如果当前没有与记录关联的xid,则不会生成一个。在RPC中,使用xids操作并不有趣 示例: # backwards compatibility get

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

我在网上找不到这方面的资料


提前感谢。

获取外部id

# backwards compatibility
get_xml_id = get_external_id
_get_xml_ids = _get_external_ids
有点垃圾,可能不会返回id:它只是获取一个随机的现有xid,但如果当前没有与记录关联的xid,则不会生成一个。在RPC中,使用xids操作并不有趣

示例:

# backwards compatibility
get_xml_id = get_external_id
_get_xml_ids = _get_external_ids
外部ID(也称为XML ID)是数据记录的标识符。Odoo使用一个基本模型,
ir.Model.data
,将标识符映射到相应的实际数据库ID


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

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

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

但是你从哪里来问这个问题呢?我需要对外部id的解释,因为我对此没有一个清晰的概念,那么外部id的唯一性呢?外部id是全局唯一还是每个模块唯一?在您自己的模块中创建外部ID有什么约定吗?它们在模型中必须是唯一的。因此,完整标识符
是全局唯一的。对于名称约定,最简单的方法是查看官方模块中的操作。感谢您的解释!