Field not exist in odoo
<p>I have error</p>

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

<p>My model extend sale.order:</p>

<pre><code>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"),
   }
</code></pre>

<p>While I not added template for view all work fine (field not created but i haven't error)</p>

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

<p>After added this template I receive error in top. I received also this:</p>

<pre><code>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
&lt;record model="ir.ui.view" id="sale_order_shipaddr_form_view"&gt;
            &lt;field name="name"&gt;order.shipaddr&lt;/field&gt;
            &lt;field name="model"&gt;sale.order&lt;/field&gt;
            &lt;field name="inherit_id" ref="sale.view_order_form"/&gt;
            &lt;field name="arch" type="xml"&gt;
                &lt;notebook position="inside"&gt;
                    &lt;page string="Shipping address"&gt;
                        &lt;group&gt;
                            &lt;field name="shipaddr"/&gt;
                        &lt;/group&gt;
                    &lt;/page&gt;
                &lt;/notebook&gt;
            &lt;/field&gt;
        &lt;/record&gt;
</code></pre>

<p>Why did not create a field in my model?</p>

<p><strong>__openerp__.py</strong></p>

<pre><code>{
###

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

###
}
</code></pre>

<p>Module sale is using osv.osv model. Documentation for Odoo8 specified model.Model for create columns. I can not find doc for osv. This construction i wrote using code other modules. May be it not right.
Where have I error? Where am I can read doc for osv?</p>