Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
463 Zobrazení

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
Zrušit
Nejlepší odpověď

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
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
1
čvc 25
418
0
kvě 25
755
1
dub 25
1692
1
úno 25
1207
0
čvc 25
468