如何在OpenERP 7中通过XML添加值?

时间:2014-10-10 12:05:24

标签: xml postgresql odoo openerp-7

我创建了一个名为 res.country.region 的新表,我还在现有表 res.country.state 中添加了一个新字段,此字段是 region_id ,表示州属于哪个地区。

现在,我正在尝试(通过XML文件)填写 region_id 字段用于某些现有状态记录,其 xml_id 已知。这是我的XML文件的一个记录的示例:

<record model='res.country.state' id='ES01'>
    <field name="region_id" ref="l10n_es_toponyms_region.ESPV"/>
</record>

问题是我收到了完整性错误,因为OpenERP7告诉我,我正在尝试在 res.country.state 中引入一条记录,其中一些必填字段的值为NULL。而且我不是要尝试引入新记录,只是更新其中一个列。

我该如何管理?

修改

ERROR my_database openerp.sql_db: bad query: insert into "res_country_state" (id,"region_id",create_uid,create_date,write_uid,write_date) values (104,16,1,(now() at time zone 'UTC'),1,(now() at time zone 'UTC'))
    Traceback (most recent call last):
      File "/opt/openerp7/ocb-server/openerp/sql_db.py", line 226, in execute
        res = self._obj.execute(query, params)
    IntegrityError: null value in column "code" violates not-null constraint

1 个答案:

答案 0 :(得分:2)

最后,我找到了解决方案:如果你想更新由XML文件引入的记录,你必须在其id中输入具有XML文件的模块的名称,dot和记录具有的xml_id

所以:

<record model='res.country.state' id='module.ES01'>
    <field name="region_id" ref="l10n_es_toponyms_region.ESPV"/>
</record>
相关问题