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

I got KeyError: 'user_id'

Please use the copy button to report the error to your support service.

Odoo Server Error
Traceback (most recent call last):
  File "D:\odoo12\odoo\odoo\http.py", line 653, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "D:\odoo12\odoo\odoo\http.py", line 312, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "D:\odoo12\odoo\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "D:\odoo12\odoo\odoo\http.py", line 695, in dispatch
    result = self._call_function(**self.params)
  File "D:\odoo12\odoo\odoo\http.py", line 344, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "D:\odoo12\odoo\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "D:\odoo12\odoo\odoo\http.py", line 337, in checked_call
    result = self.endpoint(*a, **kw)
  File "D:\odoo12\odoo\odoo\http.py", line 938, in __call__
    return self.method(*args, **kw)
  File "D:\odoo12\odoo\odoo\http.py", line 517, in response_wrap
    response = f(*args, **kw)
  File "D:\odoo12\odoo\addons\web\controllers\main.py", line 966, in call_button
    action = self._call_kw(model, method, args, {})
  File "D:\odoo12\odoo\addons\web\controllers\main.py", line 954, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "D:\odoo12\odoo\odoo\api.py", line 749, in call_kw
    return _call_kw_multi(method, model, args, kwargs)
  File "D:\odoo12\odoo\odoo\api.py", line 736, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-67>", line 2, in button_immediate_upgrade
  File "D:\odoo12\odoo\odoo\addons\base\models\ir_module.py", line 71, in check_and_log
    return method(self, *args, **kwargs)
  File "D:\odoo12\odoo\odoo\addons\base\models\ir_module.py", line 596, in button_immediate_upgrade
    return self._button_immediate_function(type(self).button_upgrade)
  File "D:\odoo12\odoo\odoo\addons\base\models\ir_module.py", line 535, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "D:\odoo12\odoo\odoo\modules\registry.py", line 86, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "D:\odoo12\odoo\odoo\modules\loading.py", line 422, in load_modules
    force, status, report, loaded_modules, update_module, models_to_check)
  File "D:\odoo12\odoo\odoo\modules\loading.py", line 318, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "D:\odoo12\odoo\odoo\modules\loading.py", line 178, in load_module_graph
    registry.setup_models(cr)
  File "D:\odoo12\odoo\odoo\modules\registry.py", line 267, in setup_models
    model._setup_fields()
  File "D:\odoo12\odoo\odoo\models.py", line 2596, in _setup_fields
    field.setup_full(self)
  File "D:\odoo12\odoo\odoo\fields.py", line 483, in setup_full
    self._setup_related_full(model)
  File "D:\odoo12\odoo\odoo\fields.py", line 526, in _setup_related_full
    field = target._fields[name]
KeyError: 'user_id'

My Code
class ts_test(models.Model):
_name = 'ts_test.ts_test'


@api.model
def default_get(self, fields_list):
defaults = super(ts_test, self).default_get(fields_list)
defaults = self._default_get_request_parameters(defaults)
return defaults


def _default_employee(self):
return self.env.context.get('default_employee_id') or self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
def _default_get_request_parameters(self, values):
new_values = dict(values)
return new_values

employee_id = fields.Many2one(
'hr.employee', string='Employee', index=True, readonly=True, default=_default_employee, track_visibility='onchange',
states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]}) # , default=_default_employee, track_visibility='onchange'
manager_id = fields.Many2one('hr.employee', string='Manager', readonly=True)
department_id = fields.Many2one(
'hr.department', string='Department', readonly=True,
states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]})
user_id = fields.Many2one('res.users', string='User', related='employee_id.user_id', related_sudo=True, store=True, default=lambda self: self.env.uid, readonly=True)



How to fix this error?


Avatar
Discard
Author Best Answer

I have fixed the problem  by adding hr to depends in __manifest__.py

Avatar
Discard