This question has been flagged

Good morning,

I am using Odoo V11 CE

I am inherit timesheet_cost from Employee to mrp.production from UI.

I add a field x_eurhour as monetary, and the related field between  x_namemployee.x_eurhour and when I save I get the following error.

If I do the same using the field work_email it work well. 

Why I get this error? Please help me. Thank you in advance

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 944, in __get__
    value = record.env.cache.get(record, self)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 967, in get
    value = self._data[key][field][record._ids[0]]
KeyError: 4

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 651, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 693, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 342, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 335, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 937, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 934, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\web\controllers\main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 689, in call_kw
    return call_kw_multi(method, model, args, kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 680, in call_kw_multi
    result = method(recs, *args, **kwargs)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\mail\models\ir_model.py", line 38, in write
    res = super(IrModel, self).write(vals)
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_model.py", line 211, in write
    return super(IrModel, self).write(vals)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3109, in write
    self._write(old_vals)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3249, in _write
    field.write(self.with_context(rel_context), vals[name])
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 2284, in write
    comodel.create(act[2])
  File "c:\program files (x86)\odoo 11.0\server\odoo\addons\base\ir\ir_model.py", line 656, in create
    self.pool.init_models(self._cr, models, dict(self._context, update_custom_fields=True))
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 314, in init_models
    models[0].recompute()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 4931, in recompute
    vals = {n: rec[n] for n in ns}
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 4931, in <dictcomp>
    vals = {n: rec[n] for n in ns}
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 4785, in __getitem__
    return self._fields[key].__get__(self, type(self))
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 948, in __get__
    self.determine_value(record)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 1035, in determine_value
    self.compute_value(recs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 1015, in compute_value
    self._compute_value(records)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 1008, in _compute_value
    self.compute(records)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 590, in _compute_related
    record[self.name] = value[self.related_field.name]
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 4794, in __setitem__
    return self._fields[key].__set__(self, value)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 966, in __set__
    value = self.convert_to_cache(value, record)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 1290, in convert_to_cache
    if validate and record[self.currency_field]:
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 4785, in __getitem__
    return self._fields[key].__get__(self, type(self))
KeyError: 'currency_id'

Avatar
Discard
Best Answer

Hi,

Add field for currency_id in your model,

currency_id = fields.Many2one('res.currency', string='Currency') 
Thanks
Aswini - iWesabe



Avatar
Discard