我的模型:school.partner.school
这是我的字段的声明:
foyer_id = fields.Many2one(string="Foyer", comodel_name="horanet.relation.foyer")
这是我的函数,向您展示导出数据时要提取的内容:
@api.onchange('school_statut')
def _get_import_id_foyer(self):
if self.school_statut:
record_ids = self.env["ir.model.data"].search([('res_id', '=', self.partner_id.foyer_relation_ids.foyer_id.id), ('module', '=', 'horanet_tpa_smartbambi')])
for rec in record_ids:
print "Import ID Foyer de " + str(self._origin.partner_id.name) + " est : " + rec.name
我的问题 :
我希望在导出过程中,foyer_id字段导出位于表 ir.model.data 名称字段上的外部标识符,
除了目前Odoo正在导出这样的东西:horanet_relation_foyer_5432。
为什么?
例如,对于像这样声明的(相同模型的(partner_id:
partner_id = fields.Many2one(string="Child", comodel_name="res.partner")
我没有问题。它为我提供了外部 ID,而不是res_partner_3501。
为什么?
你可以帮我吗?
谢谢
如果您没有为记录提供外部 ID,则 Odoo 会为您生成一个外部 ID。
转到客户,删除过滤器并找到Administrator
。导出它(使用任何字段(。查看外部 ID 现在是否具有base.user_root
或其他内容,具体取决于您的版本。这是因为这已经在其id="..."
属性中的<record>
标签上定义。
如果您创建新客户并导出他们,则您将看到生成新的导出 ID。
对于版本 10.0,此功能编写在此处:https://github.com/odoo/odoo/blob/10.0/odoo/models.py#L734