2015-06-20 55 views
0

嗨我必须更新产品数据与一个新的模块,添加一些功能product.product模型,但当我尝试安装新的模块数据它给我一个错误,因为它试图创建一个新的产品,而不是更新现有的产品Odoo使用xml数据更新产品

例如:产品记录

<record model="product.product" id="product_product_11109613400"> 
    <field name="list_price">0.07388597</field> 
    <field name="standard_price">0.0739</field> 
    <field name="default_code">11109613400</field> 
    <field name="name">LAMP</field> 
    <field name="categ_id" ref="product_category_categoria_06"/> 
    <field name="uom_po_id" ref="product.product_uom_unit"/> 
    <field name="uom_id" ref="product.product_uom_unit"/> 
    <field name="sale_ok" eval="False"/> 
    <field name="purchase_ok" eval="True"/> 
</record> 

更新XML:

<record model="product.product" id="product_product_11109613400"> 
    <field name="hazard_ids" eval="[(4, ref('product_safety_advice_r4'))]"/> 
</record> 

回答

1

我会看在ir_model_data,看看原始创建的名称字段设置为什么,这可能会让您知道更新失败的原因。如果这不起作用,可以使用安装/更新模块时运行的函数。

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
     <function model="product.product" name="do_foo" /> 
    </data> 
</openerp> 

和product.product覆盖

@api.model 
def do_foo(self): 
    ...