这个错误是指引用到一个不存在的[b]外部标识[/b]。
想知道更多? [检测到链接无效,已移除] (设置->设置->External Identifiers)也就是XML ID,OpenERP里面所有的记录如果你想通过外部引用或者是导入导出就需要通过外部标识来关联,如果一个数据是从界面直接创建,创建后他的外部标识是没有记录的,但是当你将这个数据导出,就会自动创建一个外部标识与你导出的记录相关联,这个有什么好处呢?
1.你可以通过外部标识来关联系统原有数据,当你把导出的数据表其他数据修改后,只要外部标识这个没变化,导入后的数据机会根据外部标识来更新原有数据。
2.当这个外部标识不存在,OpenERP就会帮你创建一个新数据并自动关联到这个外部标识。
[b]注意[/b]:
当这个外部标识是一个many2one,或者是many2many字段的值的时候,如果不存在就会报错
以供应商这个对象来举个例子:
数据如下(可以直接保存为cvs格式):
<br />"id","name","parent_id/id"<br />"__export__.res_partner_56","supplier_a","__export__.res_partner_55"<br />
导入到新数据库的时候__export__.res_partner_56这个外部标识虽然不存在,但是OpenERP会自动创建记录,但是__export__.res_partner_55这个id因为是引用,并不会自动创建,所以会报错。
[quote]
ValueError: No such external ID currently defined in the system: export.res_partner_55
[/quote]
解决的办法也很简单,只要在导入__export__.res_partner_56之前导入__export__.res_partner_55,即如下:
<br />"id","name","parent_id/id"<br />"__export__.res_partner_55","supplier_a_father",<br />"__export__.res_partner_56","supplier_a","__export__.res_partner_55"<br />
希望能帮到你