ValueError: Compute method failed to assign


There are three compute functions in my code. But I got the error.

Traceback (most recent call last):
  File "/vagrant/odoo/odoo/addons/base/models/", line 237, in _dispatch
    result = request.dispatch()
  File "/vagrant/odoo/odoo/", line 682, in dispatch
    result = self._call_function(**self.params)
  File "/vagrant/odoo/odoo/", line 358, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/vagrant/odoo/odoo/service/", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/vagrant/odoo/odoo/", line 346, in checked_call
    result = self.endpoint(*a, **kw)
  File "/vagrant/odoo/odoo/", line 911, in __call__
    return self.method(*args, **kw)
  File "/vagrant/odoo/odoo/", line 530, in response_wrap
    response = f(*args, **kw)
  File "/vagrant/odoo/addons/web/controllers/", line 1359, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/vagrant/odoo/addons/web/controllers/", line 1351, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/vagrant/odoo/odoo/", line 396, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/vagrant/odoo/odoo/", line 383, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/vagrant/odoo/odoo/", line 6165, in onchange
    value = record[name]
  File "/vagrant/odoo/odoo/", line 5640, in __getitem__
    return self._fields[key].__get__(self, type(self))
  File "/vagrant/odoo/odoo/", line 979, in __get__
    raise ValueError("Compute method failed to assign %s.%s" % (record,
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/vagrant/odoo/odoo/", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/vagrant/odoo/odoo/", line 314, in _handle_exception
    raise exception.with_traceback(None) from new_cause 
ValueError: Compute method failed to assign meeting.request(<NewId 0x7f4760a316d8>,).description

I have assigned the value in function. Like name = []、real_date = False、record.editable = False
But it still can't work. I don't know which function is wrong
How can I fix the function? Please give me some suggestions. Thanks!

class Request(models.Model):

_name = 'request'

request_srcmst_names = fields.Char(compute=_compute_request_srcmst_names)

date = fields.Date(compute=compute_date, search=search_date)

@api.depends('request_srcmst_ids') def _compute_request_srcmst_names(self):
self.request_srcmst_names = ''
for record in self: name = [] for request_srcmst in record.request_srcmst_ids: name.append( record.request_srcmst_names = ', '.join(name)
@api.depends('start_date') def compute_date(self): = ''
for record in self:  if record.start_date: real_date = pytz.utc.localize(datetime.datetime.strptime(record.start_date, '%Y-%m-%d %H:%M:%S')).astimezone(pytz.timezone(config['timezone'])).date() = real_date

class RequestSrcmst(models.Model):

_name = 'request.srcmst'

editable = fields.Boolean(compute=_compute_editable)

def _compute_editable(self):

self.editable = False
for record in self:  if == self.env.uid or == self.env.uid: record.editable = True
1 Comment


I see that you have defined a method search_date for the date field but I don't see that method defined in your class. Try defining the method and see if it works.

Thanks and Regards,


1 Answer
Best Answer

Hello Xun,

Actually, It is raising errors from the meeting. request model related code. Can you check that code that has any compute field/method? Do you have any custom code related to it?




Skype: kalpeshmaheshwari