我的模型: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。
为什么?
你能帮我吗?
谢谢
答案 0 :(得分:0)
如果您没有给记录提供外部ID,Odoo会为您生成一个。
转到“客户”,删除过滤器并找到Administrator
。导出(使用任何字段)。现在可以看到外部标识具有base.user_root
或其他名称,具体取决于您的版本。这是因为这已经在<record>
属性的id="..."
标签上定义了。
如果您创建一个新客户并将其导出,那么您将看到生成了一个新的导出ID。
对于10.0版,此功能在此处编写: https://github.com/odoo/odoo/blob/10.0/odoo/models.py#L734