Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
355 Vistas

Im on V17. I get this error when I exclude all invoices in followup report and try to change the followup level.


RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
  File "/home/tony/odoo-17.0/odoo/http.py", line 1782, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/odoo/service/model.py", line 133, in retrying
    result = func()
             ^^^^^^
  File "/home/tony/odoo-17.0/odoo/http.py", line 1809, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/odoo/http.py", line 2013, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/odoo/addons/base/models/ir_http.py", line 221, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/odoo/http.py", line 757, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/addons/web/controllers/dataset.py", line 24, in call_kw
    return self._call_kw(model, method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/addons/web/controllers/dataset.py", line 20, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/odoo/api.py", line 468, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/odoo/api.py", line 453, in _call_kw_multi
    result = method(recs, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/addons/web/models/models.py", line 76, in web_save
    return self.with_context(bin_size=True).web_read(specification)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/odoo-17.0/addons/web/models/models.py", line 128, in web_read
    vals = many2one_data[values[field_name]]
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
KeyError: 3

The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
    RPC_ERROR
        at makeErrorFromResponse (http://localhost:8069/web/assets/debug/web.assets_web.js:28042:19) (/web/static/src/core/network/rpc_service.js:37)
        at XMLHttpRequest.<anonymous> (http://localhost:8069/web/assets/debug/web.assets_web.js:28090:27) (/web/static/src/core/network/rpc_service.js:85)


I'm testing a module I developed but I keep getting this error and I noticed it wasn't from my module and don't know where else to look. I've been stuck on this for days. Any ideas would be appreciated.


Avatar
Descartar
Mejor respuesta

Hii,

run this to find which fields are referencing the missing ID:

for model_name in ['account.move', 'account.move.line', 'account_followup.followup_line']:

    model = env[model_name]

    for field in model._fields.values():

        if field.type == 'many2one':

            recs = model.search([(field.name, '=', 3)], limit=5)

            if recs:

                print(f Broken Reference: {model_name}.{field.name} → ID 3")


Fix or Clean the Broken Reference

Once you identify the field (eg, followup_level_id or partner_id ), run:

# Replace with actual model and field found above

env['account.move'].search([

    ('followup_level_id', '=', 3)

]).write({'followup_level_id': False})


Only use this in a test/dev environment, not production.


Always use ondelete='set null' for Many2one fields in your custom modules.

Never manually assign Many2one values (like .write({'partner_id': 3}) ) without checking if the record exists.

Add a SQL constraint or validation to catch invalid foreign keys.


i hope it is use full

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
jul 25
365
0
may 25
715
1
abr 25
1622
1
feb 25
1163
0
jul 25
440