如何在代码隐藏中检索带有外部 ID 的记录

How can I retrieve a record with its external id in code-behind

如何使用外部 ID 在数据库中查找记录?

假设我的数据文件中有以下记录:

<record model="product.product" id="product_to_find"> ... </record>

如何在代码隐藏中检索它?

根据 this documentation,您只需调用 odoo.env.ref(external_id)

例如:

my_product = self.env.ref('product.product_to_find')

您可以使用 env.

获取 xml id 的引用
product_id = self.env.ref('product.product_to_find').id

及以下是通过 xml id

获取记录的替代方法
ir_model_obj = self.pool['ir.model.data']
product_recs= ir_model_obj.get_object_reference(self._cr, self._uid, 'product', 'product_to_find')
product_rec = product_recs and product_recs[1] or False