2016-10-06 40 views
0

我正在创建一个自定义模块来扩展sale.order.line中的字段,但Odoo(v8)不创建这两列。为什么Odoo不插入这两列?

class sale_order_line_ext(osv.Model): 
    _name = 'sale.order.line' 
    _inherit = 'sale.order.line' 

    _columns = { 
     'supplier_name': fields.char('Supplier name'), 
     'supplier_ref': fields.char('Product reference'), 
    } 

sale_order_line_ext() 

我以前已经在sale.order中创建了一些列,但我在这里没有看到任何错误。我的错误是什么?

+0

第一关:我不知道为什么两个答案建议删除_name属性,因为那是没有必要的。第二:为什么你不使用新的API?我想你忘了初始化文件或者只是没有重启服务器。没有冒犯性,这只是一个常见的错误。 – CZoellner

+1

@CZoellner我建议删除'_name',因为他的要求不是添加另一个模型,他将字段添加到相同的模型。这就是为什么在这里不需要'_name'的原因。 –

+1

好吧,这不是必需的,但它也不是一个错误。 – CZoellner

回答

-1

您的评论,错误日志说supplier_name不表sale.order.line'存在,检查这个进入设置 - >技术 - >数据库结构 - >模型,找到sale.order.line然后你会看到所有字段。如果没有尝试下面的代码:

class sale_order_line_ext(osv.Model): 
    _inherit = 'sale.order.line' 

    _columns = { 
    'supplier_name': fields.char('Supplier name'), 
    'supplier_ref': fields.char('Product reference'), 
    } 

sale_order_line_ext() 
-1

您已经在模型sale.order.line中添加了这些字段,但是您没有在视图中添加它们。如果您想在销售订单行中显示这些字段,则必须继承tree view'Sales Order Lines'并在树视图中添加这些字段。

<record id="pob_order_line_view_form" model="ir.ui.view"> 
    <field name="name">sale.order</field> 
    <field name="model">sale.order</field> 
    <field name="inherit_id" ref="sale.view_order_form"/> 
    <field name="arch" type="xml"> 
     <xpath expr="//notebook/page[@string='Order Lines']/field[@name='order_line']/tree[@string='Sales Order Lines']/field[@name='name']" position="after"> 
      <field name= 'supplier_name'/> 
      <field name= 'supplier_ref'/> 
     </xpath> 
    </field>   
</record> 
+0

感谢您的回答@VikashMishra。我已经创建了这个观点,但我没有把它放在这里。当我尝试在视图中添加这些字段,Odoo返回一个错误: 'Detalles德错误: 萨尔瓦多坎普supplier_name没有existe 错误德contexto: Vista的sale.order.form.inherit [view_id的:832,xml_id :sale_extensions.view_order_form_extension,model:sale.order,parent_id:650]“while parsing /home/marcogonzalo/Dentaltix/ERP/bitnami-odoo/apps/odoo/lib/odoo-8.0.post20151126-py2.7.egg/openerp /addons/sale_extensions/views/sale_form_views.xml:4,在' –

+1

'附近删除'.py'文件中的'_name = sale.order.line'并重新启动您的odoo服务器,然后升级您的模块 –