openerp - Odoo inheritance issue -


i have develop module odoo 8. when tried deploy got error:

  traceback (most recent call last):   file "/opt/odoo/openerp/http.py", line 539, in _handle_exception     return super(jsonrequest, self)._handle_exception(exception)   file "/opt/odoo/openerp/http.py", line 576, in dispatch     result = self._call_function(**self.params)   file "/opt/odoo/openerp/http.py", line 312, in _call_function     return checked_call(self.db, *args, **kwargs)   file "/opt/odoo/openerp/service/model.py", line 118, in wrapper     return f(dbname, *args, **kwargs)   file "/opt/odoo/openerp/http.py", line 309, in checked_call     return self.endpoint(*a, **kw)   file "/opt/odoo/openerp/http.py", line 805, in __call__     return self.method(*args, **kw)   file "/opt/odoo/openerp/http.py", line 405, in response_wrap     response = f(*args, **kw)   file "/opt/odoo/addons/web/controllers/main.py", line 948, in call_button     action = self._call_kw(model, method, args, {})   file "/opt/odoo/addons/web/controllers/main.py", line 936, in _call_kw     return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)   file "/opt/odoo/openerp/api.py", line 268, in wrapper     return old_api(self, *args, **kwargs)   file "/opt/odoo/openerp/addons/base/module/module.py", line 447, in button_immediate_install     return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)   file "/opt/odoo/openerp/api.py", line 268, in wrapper     return old_api(self, *args, **kwargs)   file "/opt/odoo/openerp/addons/base/module/module.py", line 495, in _button_immediate_function     registry = openerp.modules.registry.registrymanager.new(cr.dbname, update_module=true)   file "/opt/odoo/openerp/modules/registry.py", line 370, in new     openerp.modules.load_modules(registry._db, force_demo, status, update_module)   file "/opt/odoo/openerp/modules/loading.py", line 355, in load_modules     loaded_modules, update_module)   file "/opt/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 "/opt/odoo/openerp/modules/loading.py", line 176, in load_module_graph     _load_data(cr, module_name, idref, mode, kind='data')   file "/opt/odoo/openerp/modules/loading.py", line 118, in _load_data     tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)   file "/opt/odoo/openerp/tools/convert.py", line 900, in convert_file     convert_xml_import(cr, module, fp, idref, mode, noupdate, report)   file "/opt/odoo/openerp/tools/convert.py", line 986, in convert_xml_import     obj.parse(doc.getroot(), mode=mode)   file "/opt/odoo/openerp/tools/convert.py", line 852, in parse     self._tags[rec.tag](self.cr, rec, n, mode=mode)   file "/opt/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 "/opt/odoo/openerp/api.py", line 268, in wrapper     return old_api(self, *args, **kwargs)   file "/opt/odoo/openerp/addons/base/ir/ir_model.py", line 1065, in _update     res_id = model_obj.create(cr, uid, values, context=context)   file "/opt/odoo/openerp/api.py", line 268, in wrapper     return old_api(self, *args, **kwargs)   file "/opt/odoo/openerp/addons/base/ir/ir_ui_view.py", line 255, in create     context=context)   file "/opt/odoo/openerp/api.py", line 268, in wrapper     return old_api(self, *args, **kwargs)   file "/opt/odoo/openerp/api.py", line 372, in old_api     result = method(recs, *args, **kwargs)   file "/opt/odoo/openerp/models.py", line 4093, in create     record = self.browse(self._create(old_vals))   file "/opt/odoo/openerp/api.py", line 266, in wrapper     return new_api(self, *args, **kwargs)   file "/opt/odoo/openerp/api.py", line 508, in new_api     result = method(self._model, cr, uid, *args, **old_kwargs)   file "/opt/odoo/openerp/models.py", line 4284, in _create     recs._validate_fields(vals)   file "/opt/odoo/openerp/api.py", line 266, in wrapper     return new_api(self, *args, **kwargs)   file "/opt/odoo/openerp/models.py", line 1271, in _validate_fields     raise validationerror('\n'.join(errors)) parseerror: "validateerror field(s) `arch` failed against constraint: invalid view definition  error details: field `note` not exist  error context: view `hr.skill form` [view_id: 1027, xml_id: n/a, model: hr.skill, parent_id: 849]" while parsing /opt/odoo/addons/nge_skills_management/skill.xml:32, near <record id="view_skill_form_inherit" model="ir.ui.view">             <field name="model">hr.skill</field>             <field name="inherit_id" ref="hr_skill.view_skill_form"/>             <field name="arch" type="xml">                 <xpath expr="//field[@name='name']" position="after">                      <field name="note" string="note"/>                 </xpath>             </field>         </record> 

but when check database found note field:

 select *  nge_skills_management_hr_skill;  id | parent_left | parent_right | create_uid | create_date | name | write_uid | note | parent_id | write_date | active  ----+-------------+--------------+------------+-------------+------+-----------+------+-----------+------------+-------- 

there source code:

skill.py

from openerp import api, fields, models class hr_skill(models.model):     _inherit = "hr.skill"      _name = "nge_skills_management.hr_skill"     note = fields.selection([('a', '3'),('b', '2'),('c', '1')]) 

skill.xml

    <menuitem id="main_skill_menu" name="nge skills" />          <menuitem id="skill_menu" name="my skills"             parent="main_skill_menu" />          <record id="action_home_page" model="ir.actions.client">             <field name="name">skill home</field>             <field name="tag">nge_skills_management.homepage</field>         </record>          <menuitem id="home_page_skill_menu" name="home page" parent="skill_menu"             action="action_home_page"/>   <record model="ir.actions.act_window" id="nge_skills_action">             <field name="name">nge skills</field>             <field name="res_model">hr.skill</field>             <field name="view_type">form</field>             <field name="view_mode">tree,form</field>             <field name="domain">[["parent_id.name", "=", "programmation"]]</field>         </record>               <record id="view_skill_form_inherit" model="ir.ui.view">             <field name="model">hr.skill</field>             <field name="inherit_id" ref="hr_skill.view_skill_form"/>             <field name="arch" type="xml">                 <xpath expr="//field[@name='name']" position="after">                      <field name="note" string="note"/>                 </xpath>             </field>         </record>  <menuitem id="nge_skills_action_menu" name="nge skills" parent="skill_menu"             action="nge_skills_action"/> 

can me please !!

in odoo specifying _name creates new table in database (the name of module name of database table . replaced _).

the problem using:

_name = 'nge_skills_management.hr_skill' going create new table fields in hr.skill , add notes field not hr_skill module

what want (normal inheritance) specify _inherit='hr.skill' only. enable add new fields or new methods hr.skill model


Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -