2016-08-03 39 views
2

我有错误场odoo不存在

2016-08-03 08:07:05,005 29822 ERROR odoov8 openerp.addons.base.ir.ir_ui_view: Field `shipaddr` not exist 

我的模型延伸sale.order:虽然我不添加视图模板都做工精细(场没有创造

from openerp.osv import osv, fields 
class sale_order(osv.osv): 
    _inherit = 'sale.order' 
    _columns = { 
    #shipaddr = fields.Many2many('res.partner', string="Shipping address", readonly=False), 
    'shipaddr' : fields.many2many('res.partner', 'vips_shop_order_to_ship_rel', 'order_id', 'shipping_address_id', string="Shipping address"), 
    } 

但还没t错误)

<record model="ir.ui.view" id="sale_order_shipaddr_form_view"> 
      <field name="name">order.shipaddr</field> 
      <field name="model">sale.order</field> 
      <field name="inherit_id" ref="sale.view_order_form"/> 
      <field name="arch" type="xml"> 
       <notebook position="inside"> 
        <page string="Shipping address"> 
         <group> 
          <field name="shipaddr"/> 
         </group> 
        </page> 
       </notebook> 
      </field> 
     </record> 

添加此模板后,我收到错误的顶部。我也收到这个:

2016-08-03 08:07:05,022 29822 ERROR odoov8 werkzeug: Error on request: 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi 
    execute(self.server.app) 
    File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 165, in execute 
    application_iter = app(environ, start_response) 
    File "/home/skif/odoo/openerp/service/server.py", line 291, in app 
    return self.app(e, s) 
    File "/home/skif/odoo/openerp/service/wsgi_server.py", line 216, in application 
    return application_unproxied(environ, start_response) 
    File "/home/skif/odoo/openerp/service/wsgi_server.py", line 202, in application_unproxied 
    result = handler(environ, start_response) 
    File "/home/skif/odoo/openerp/http.py", line 1293, in __call__ 
    return self.dispatch(environ, start_response) 
    File "/home/skif/odoo/openerp/http.py", line 1267, in __call__ 
    return self.app(environ, start_wrapped) 
    File "/usr/local/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 588, in __call__ 
    return self.app(environ, start_response) 
    File "/home/skif/odoo/openerp/http.py", line 1431, in dispatch 
    ir_http = request.registry['ir.http'] 
    File "/home/skif/odoo/openerp/http.py", line 349, in registry 
    return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None 
    File "/home/skif/odoo/openerp/modules/registry.py", line 339, in get 
    update_module) 
    File "/home/skif/odoo/openerp/modules/registry.py", line 370, in new 
    openerp.modules.load_modules(registry._db, force_demo, status, update_module) 
    File "/home/skif/odoo/openerp/modules/loading.py", line 351, in load_modules 
    force, status, report, loaded_modules, update_module) 
    File "/home/skif/odoo/openerp/modules/loading.py", line 255, in load_marked_modules 
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) 
    File "/home/skif/odoo/openerp/modules/loading.py", line 176, in load_module_graph 
    _load_data(cr, module_name, idref, mode, kind='data') 
    File "/home/skif/odoo/openerp/modules/loading.py", line 118, in _load_data 
    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report) 
    File "/home/skif/odoo/openerp/tools/convert.py", line 900, in convert_file 
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report) 
    File "/home/skif/odoo/openerp/tools/convert.py", line 986, in convert_xml_import 
    obj.parse(doc.getroot(), mode=mode) 
    File "/home/skif/odoo/openerp/tools/convert.py", line 852, in parse 
    self._tags[rec.tag](self.cr, rec, n, mode=mode) 
    File "/home/skif/odoo/openerp/tools/convert.py", line 762, in _tag_record 
    id = self.pool['ir.model.data']._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context) 
    File "/home/skif/odoo/openerp/api.py", line 268, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/skif/odoo/openerp/addons/base/ir/ir_model.py", line 1065, in _update 
    res_id = model_obj.create(cr, uid, values, context=context) 
    File "/home/skif/odoo/openerp/api.py", line 268, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/skif/odoo/openerp/addons/base/ir/ir_ui_view.py", line 255, in create 
    context=context) 
    File "/home/skif/odoo/openerp/api.py", line 268, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/skif/odoo/openerp/api.py", line 372, in old_api 
    result = method(recs, *args, **kwargs) 
    File "/home/skif/odoo/openerp/models.py", line 4094, in create 
    record = self.browse(self._create(old_vals)) 
    File "/home/skif/odoo/openerp/api.py", line 266, in wrapper 
    return new_api(self, *args, **kwargs) 
    File "/home/skif/odoo/openerp/api.py", line 508, in new_api 
    result = method(self._model, cr, uid, *args, **old_kwargs) 
    File "/home/skif/odoo/openerp/models.py", line 4285, in _create 
    recs._validate_fields(vals) 
    File "/home/skif/odoo/openerp/api.py", line 266, in wrapper 
    return new_api(self, *args, **kwargs) 
    File "/home/skif/odoo/openerp/models.py", line 1271, in _validate_fields 
    raise ValidationError(' 
'.join(errors)) 
ParseError: "ValidateError 
Field(s) `arch` failed against a constraint: Invalid view definition 

Error details: 
Field `shipaddr` not exist 

Context error: 
View `order.shipaddr` 
[view_id: 1642, xml_id: n/a, model: sale.order, parent_id: 582]" while parsing /home/skif/odoo/my-modules/vips_shop/views/sale_order.xml:5, near 
<record model="ir.ui.view" id="sale_order_shipaddr_form_view"> 
      <field name="name">order.shipaddr</field> 
      <field name="model">sale.order</field> 
      <field name="inherit_id" ref="sale.view_order_form"/> 
      <field name="arch" type="xml"> 
       <notebook position="inside"> 
        <page string="Shipping address"> 
         <group> 
          <field name="shipaddr"/> 
         </group> 
        </page> 
       </notebook> 
      </field> 
     </record> 

为什么没有在我的模型中创建一个字段?

__openerp__.py

{ 
### 

    # any module necessary for this one to work correctly 
    'depends': ['base','sale', 'product', 'vips_vc'], 

### 
} 

模块出售使用osv.osv模型。 Odoo8的文档指定了model.Model用于创建列。我无法找到osv的文档。这个构造我使用代码编写了其他模块。可能是不对的。 我哪里错误?我可以在哪里阅读osv的文档?

+0

对于'openerp7'文档看看https://doc.odoo.com/v7.0/ – Zety

+0

扩展'sale.order'模型是正确的。在'__init __。py'中导入文件(我想它已经完成)并重新启动服务器。 – Zety

+0

Rawly - 感谢您的链接! – Skif

回答

0

由于Rawly的答案 在文件openerp.py我fogot添加 '导入sale_order'。 现在这个文件包含:

import controllers 
import models 
import partner 
import product 
import sale_order 

正如你看到的我加sale_order。

所有工作的罚款