字段声明-导入/导出CSV

时间:2019-06-03 08:54:35

标签: python odoo

我的模型: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。

为什么?

你能帮我吗?

谢谢

1 个答案:

答案 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