Openerp odoo通过xmlid扩展现有数据文件

Openerp odoo通过xmlid扩展现有数据文件,openerp,odoo-9,Openerp,Odoo 9,openerp/addons/base/res/res\u country\u data.xml文件中有记录: <?xml version="1.0" encoding="utf-8"?> <openerp> <data noupdate="1"> <record id="ae" model="res.country"> <field name="name">United Arab Emi

openerp/addons/base/res/res\u country\u data.xml文件中有记录:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
        <record id="ae" model="res.country">
            <field name="name">United Arab Emirates</field>
            <field name="code">ae</field>
            <field file="base/static/img/country_flags/ae.png" name="image" type="base64" />
            <field name="currency_id" ref="AED" />
            <field eval="971" name="phone_code" />
        </record>

提前谢谢你

我建议对您的范围使用更好的xml ID,然后尝试在xml文件中获得适当的顺序,如:


629
629
629

感谢您指出如何获取外部xml id,我已经搜索了一天了!真的很有帮助!您介意告诉我如何将引用作为列表/数组吗?我的ean_范围是one2many,目前它指向“int”,我认为ean_range.id是不可编辑的
ParseError在解析/mnt/extra addons/instant_country/data.xml:8,near
时,解析错误:“'int'对象不可编辑”。能否将
res.country
res.country.ean_range
的类定义添加到您的问题中?我需要查看字段定义以正确处理one2many关系进行了适当的更新,再次感谢您的帮助!实际上,你的模型概念似乎不正确。你确定要在这里使用一个2many关系而不是多个2many关系吗?好的,让我再次编辑我的答案,希望是最后一次;-)
<openerp>
    <data>
        <!-- extend data from country_data.xml -->
        <record id="ae_range" model="res.country"> 
            <field name="ean_range" ref="res.country.ean_range">629</field>
        </record>

        <!-- data for my model country model must be pointing to -->
        <record id="629" model="res.country.ean_range"> 
            <field name="range_start">629</field>
            <field name="range_end">629</field>
            <field name="name">629</field>
        </record>
    <record id="ae_range" model="res.country"> 
        <field name="inherit_id" ref="res.country.ean_range"/>
        ...
    </record>
class InstantProductTemplate(models.Model):
    _name = 'product.template'
    _inherit = 'product.template'

    country_of_origin = fields.Many2one('res.country',
                                        string='Country of origin',
                                        default="_guess_country",
                                        store=True)
class InstantCountryRanges(models.Model):
    _name = 'res.country'
    _inherit = 'res.country'

    ean_range = fields.One2many('res.country.ean_range', 'name')


class InstantCountry(models.Model):
    _name = 'res.country.ean_range'

    name = fields.Char()
    range_start = fields.Integer("Range start")
    range_end = fields.Integer("Range end")