Skip to Content
Menu
This question has been flagged
1 Reply
2913 Views

Hello,

I am struggling with the upgrade of my custom module from odoo 12 to 13. I have this other error:

Error:
Odoo Server Error

Traceback (most recent call last):
File "/home/odoo_itaca/odoo/odoo/tools/cache.py", line 85, in lookup
r = d[key]
File "/home/odoo_itaca/odoo/odoo/tools/func.py", line 69, in wrapper
return func(self, *args, **kwargs)
File "/home/odoo_itaca/odoo/odoo/tools/lru.py", line 44, in __getitem__
a = self.d[obj].me
KeyError: ('ir.model.data', <function IrModelData.xmlid_lookup at 0x7fc829e976a8>, 'analisi.analisi_menu_root')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 713, in parse
self._tag_root(de)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 675, in _tag_root
f(rec)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 675, in _tag_root
f(rec)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 443, in _tag_menuitem
values['parent_id'] = self.id_get(rec.attrib['parent'])
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 658, in id_get
res = self.model_id_get(id_str, raise_if_not_found)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 664, in model_id_get
return self.env['ir.model.data'].xmlid_to_res_model_res_id(id_str, raise_if_not_found=raise_if_not_found)
File "/home/odoo_itaca/odoo/odoo/addons/base/models/ir_model.py", line 1657, in xmlid_to_res_model_res_id
return self.xmlid_lookup(xmlid)[1:3]
File "<decorator-gen-24>", line 2, in xmlid_lookup
File "/home/odoo_itaca/odoo/odoo/tools/cache.py", line 90, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/home/odoo_itaca/odoo/odoo/addons/base/models/ir_model.py", line 1646, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: analisi.analisi_menu_root

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/odoo_itaca/odoo/odoo/http.py", line 619, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo_itaca/odoo/odoo/http.py", line 309, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/home/odoo_itaca/odoo/odoo/tools/pycompat.py", line 14, in reraise
raise value
File "/home/odoo_itaca/odoo/odoo/http.py", line 664, in dispatch
result = self._call_function(**self.params)
File "/home/odoo_itaca/odoo/odoo/http.py", line 345, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo_itaca/odoo/odoo/service/model.py", line 93, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo_itaca/odoo/odoo/http.py", line 338, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo_itaca/odoo/odoo/http.py", line 909, in __call__
return self.method(*args, **kw)
File "/home/odoo_itaca/odoo/odoo/http.py", line 510, in response_wrap
response = f(*args, **kw)
File "/home/odoo_itaca/odoo/addons/web/controllers/main.py", line 1323, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/home/odoo_itaca/odoo/addons/web/controllers/main.py", line 1311, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo_itaca/odoo/odoo/api.py", line 395, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/home/odoo_itaca/odoo/odoo/api.py", line 382, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-58>", line 2, in button_immediate_install
File "/home/odoo_itaca/odoo/odoo/addons/base/models/ir_module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "/home/odoo_itaca/odoo/odoo/addons/base/models/ir_module.py", line 463, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/home/odoo_itaca/odoo/odoo/addons/base/models/ir_module.py", line 573, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/home/odoo_itaca/odoo/odoo/modules/registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/odoo_itaca/odoo/odoo/modules/loading.py", line 420, in load_modules
loaded_modules, update_module, models_to_check)
File "/home/odoo_itaca/odoo/odoo/modules/loading.py", line 312, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/home/odoo_itaca/odoo/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/home/odoo_itaca/odoo/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 737, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 804, in convert_xml_import
obj.parse(doc.getroot())
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 722, in parse
exc_info[2]
File "/home/odoo_itaca/odoo/odoo/tools/pycompat.py", line 13, in reraise
raise value.with_traceback(tb)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 713, in parse
self._tag_root(de)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 675, in _tag_root
f(rec)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 675, in _tag_root
f(rec)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 443, in _tag_menuitem
values['parent_id'] = self.id_get(rec.attrib['parent'])
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 658, in id_get
res = self.model_id_get(id_str, raise_if_not_found)
File "/home/odoo_itaca/odoo/odoo/tools/convert.py", line 664, in model_id_get
return self.env['ir.model.data'].xmlid_to_res_model_res_id(id_str, raise_if_not_found=raise_if_not_found)
File "/home/odoo_itaca/odoo/odoo/addons/base/models/ir_model.py", line 1657, in xmlid_to_res_model_res_id
return self.xmlid_lookup(xmlid)[1:3]
File "<decorator-gen-24>", line 2, in xmlid_lookup
File "/home/odoo_itaca/odoo/odoo/tools/cache.py", line 90, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/home/odoo_itaca/odoo/odoo/addons/base/models/ir_model.py", line 1646, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % xmlid)
odoo.tools.convert.ParseError: "External ID not found in the system: analisi.analisi_menu_root" while parsing /home/odoo_itaca/custom-addons/analisi/views/menu.xml:2, near
<odoo>
<data>

<record id="action_ricerca_url" model="ir.actions.act_url">
<field name="name">Ricerca</field>
<field name="type">ir.actions.act_url</field>
<field name="url">/q</field>
<field name="target">self</field>
</record>

<!-- menu item -->
<menuitem name="Ricerca" id="analisi_ricerca_menu" parent="analisi_menu_root" action="action_ricerca_url" sequence="52"/>

<!-- menu item -->
<menuitem name="Visualizza dati" id="analisi_visualizza_menu" parent="analisi_menu_root" sequence="51"/>

<!-- Top menu item -->
<!-- <menuitem name="Analisi"
id="analisi_menu_root"
web_icon="analisi,static/description/icon.png"
sequence="0"
groups="analisi.analisi_group_user"
/> -->

</data>
</odoo>


Wht should i do?

Avatar
Discard

Also use meaning full titles for questions, not good to have part1 part2 etc

Best Answer

Hi,

The error is that for the newly created menus you have given the parent as analisi_menu_root , so system will look for a menu named analisi_menu_root inside your custom module, but there is no menu in the name analisi_menu_root inside your custom module.

If you forget to define the menu, you can define it or if that menu already exist in the database, give the external ID correctly. External ID will be original_module.record_id

See how to get the external ID of the menu: Get External ID of the Menu in Odoo

Thanks

Avatar
Discard