This question has been flagged
3050 Views

the issue haapend in some ids created when add new line

class ApprovalLog(models.AbstractModel):
    _name = 'approval.log'
    _log_access = False
    _order = 'id desc'

    record_id = fields.Many2one('base', required = True, index = True, ondelete="cascade")
    user_id = fields.Many2one('res.users', 'User', required = True)

    name = fields.Char('New Status')
    old_name = fields.Char(compute = '_calc_old_name', string='Old Status')

    date = fields.Datetime('Date', required = True)

    @api.depends('name')
    def _calc_old_name(self):
        for record in self:
            record.old_name = self.search([('record_id','=', record.record_id.id)], order = 'id desc', limit = 1)[:1].name

Error:
Odoo Server Error

Traceback (most recent call last):
  File "/odoo/odoo/odoo/api.py", line 745, in get
    value = self._data[field][record._ids[0]]
KeyError: <NewId origin=5909>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/odoo/odoo/odoo/fields.py", line 1000, in __get__
    value = env.cache.get(record, self)
  File "/odoo/odoo/odoo/api.py", line 751, in get
    raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('coc.account.move.logs(<NewId origin=5909>,).old_name', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/odoo/odoo/odoo/http.py", line 624, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/odoo/odoo/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/odoo/odoo/odoo/tools/pycompat.py", line 14, in reraise
    raise value
  File "/odoo/odoo/odoo/http.py", line 669, in dispatch
    result = self._call_function(**self.params)
  File "/odoo/odoo/odoo/http.py", line 350, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/odoo/odoo/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/odoo/odoo/odoo/http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "/odoo/odoo/odoo/http.py", line 915, in __call__
    return self.method(*args, **kw)
  File "/odoo/odoo/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "/odoo/odoo/addons/web/controllers/main.py", line 1322, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/odoo/odoo/addons/web/controllers/main.py", line 1314, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/odoo/odoo/odoo/api.py", line 387, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/odoo/odoo/odoo/api.py", line 374, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/odoo/odoo/addons/account/models/account_move.py", line 991, in onchange
    return super(AccountMove, self.with_context(recursive_onchanges=False)).onchange(values, field_name, field_onchange)
  File "/odoo/odoo/odoo/models.py", line 6154, in onchange
    snapshot0 = Snapshot(record, nametree)
  File "/odoo/odoo/odoo/models.py", line 6018, in __init__
    self.fetch(name)
  File "/odoo/odoo/odoo/models.py", line 6026, in fetch
    self[name] = [Snapshot(line, tree[name]) for line in record[name]]
  File "/odoo/odoo/odoo/models.py", line 6026, in <listcomp>
    self[name] = [Snapshot(line, tree[name]) for line in record[name]]
  File "/odoo/odoo/odoo/models.py", line 6018, in __init__
    self.fetch(name)
  File "/odoo/odoo/odoo/models.py", line 6028, in fetch
    self[name] = record[name]
  File "/odoo/odoo/odoo/models.py", line 5690, in __getitem__
    return self._fields[key].__get__(self, type(self))
  File "/odoo/odoo/odoo/fields.py", line 1024, in __get__
    self.compute_value(recs)
  File "/odoo/odoo/odoo/fields.py", line 1109, in compute_value
    records._compute_field_value(self)
  File "/odoo/odoo/odoo/models.py", line 3966, in _compute_field_value
    getattr(self, field.compute)()
  File "/odoo/Rawafid/base_extension/models/approval_log.py", line 26, in _calc_old_name
    order = 'id desc', limit=1)[:1].name
  File "/odoo/odoo/odoo/models.py", line 1643, in search
    res = self._search(args, offset=offset, limit=limit, order=order, count=count)
  File "/odoo/odoo/odoo/models.py", line 4460, in _search
    self._cr.execute(query_str, where_clause_params)
  File "/odoo/Rawafid/custom/sql_db.py", line 17, in execute
    return original_execute(self, query, params=params, log_exceptions=log_exceptions)
  File "/odoo/odoo/odoo/sql_db.py", line 173, in wrapper
    return f(self, *args, **kwargs)
  File "/odoo/odoo/odoo/sql_db.py", line 250, in execute
    res = self._obj.execute(query, params)
psycopg2.DataError: invalid input syntax for integer: "<NewId origin=234573>"
LINE 1: ...id" = NULL)  AND  ("coc_account_move_logs"."id" < '<NewId or...
                                                             ^

Avatar
Discard