I'm trying to install a custom module but I'm getting this error:
RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1584, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 133, in retrying
result = func()
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1611, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1815, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 697, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 46, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "", line 2, in button_immediate_install
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
return method(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 468, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 592, in _button_immediate_function
registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "", line 2, in new
File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 87, in locked
return func(inst, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 90, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 488, in load_modules
processed_modules += load_marked_modules(cr, graph,
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 372, in load_marked_modules
loaded, processed = load_module_graph(
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 208, in load_module_graph
registry.init_models(cr, model_names, {'module': package.name}, new_install)
File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 531, in init_models
env['ir.model.fields.selection']._reflect_selections(model_names)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_model.py", line 1287, in _reflect_selections
expected = {
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_model.py", line 1291, in
for index, (value, label) in enumerate(field.selection)
ValueError: too many values to unpack (expected 2)
The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
RPCError@http://localhost:8069/web/assets/192-39f72eb/web.assets_backend.min.js:981:274
makeErrorFromResponse@http://localhost:8069/web/assets/192-39f72eb/web.assets_backend.min.js:985:163
jsonrpc/promiseThis is what my models.py class looks like:
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class restaurante(models.Model):
_name = 'trabajo_modulo.restaurante'
_description = 'Define el restaurante'
nombre = fields.Char('Nombre', required=True)
nMesas = fields.Integer(string='Número de mesas', required=True)
class mesa(models.Model):
_name = 'trabajo_modulo.mesa'
_description = 'Define la mesa'
num = fields.Integer(string='Número', required = True)
capacidad = fields.Integer(string='Capacidad', default=4)
class empleado(models.Model):
_name = 'trabajo_modulo.empleado'
_description = 'Permite definir las características de un empleado'
nombre = fields.Char('Nombre', required=True)
nif = fields.Char('NIF', required=True)
puesto = fields.Selection(string='Puesto', selection=[('w','Camarero'), ('c','Cocinero'), ('p', 'Repostero')], default='w')
sueldo = fields.Float(string='Sueldo')
fecha_incorporacion = fields.Date(string='Fecha de incorporación')
experiencia = fields.Integer('Experiencia', compute='_get_antiguedad')
@api.depends('fecha_incorporacion')
def _get_antiguedad(self):
for empleado in self:
empleado.experiencia = 0I thought at first it was caused by the 'puesto' line, but the error kept appearing after commenting it out.