2014-10-10 53 views
2

我已經創建了一個稱爲res.country.region新表,我還添加了新的字段添加到現有的表res.country.state,該字段REGION_ID並指示哪個區域的狀態屬於。現在如何在OpenERP7中通過XML添加值?

,我試圖填補(通過一個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介紹的記錄。狀態爲,其中一些必填字段的值爲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 
+0

您能不能告訴我們完整性錯誤?並注意一些事情:當你通過xml端添加值時,在使用它之前註冊該id。例如,首先定義父值並將其分配給子項。 – 2014-10-10 12:35:29

+0

@Odedra謝謝你的回答。我考慮到了這一點。我用錯誤更新了我的問題。 – forvas 2014-10-10 13:38:56

+0

請爲'res_country_state模型插入代碼值,'它看起來像代碼是必需的字段,但你沒有給它的價值。之後,它會工作。 – 2014-10-10 13:57:32

回答

2

最後,我找到了解決辦法:如果你想更新這是由XML文件出臺的記錄,喲必須把它的id,這將有模塊的名稱XML文件,點和記錄所具有的xml_id。

所以:

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