Ошибка при попытке составить список пользователей в odoo 14

#python #odoo #odoo-14

#python #odoo #odoo-14

Вопрос:

Когда я захожу в настройки в разделе пользователи, я получаю следующую ошибку:

Недопустимое поле ‘documents_account_settings’ в модели ‘res.config.settings’

Я просматривал базовый код, и кажется, что поля documents_account_settings больше нет в модели, файл, который я просматривал, это /home/odoo/src/odoo/addons/account/models/res_config_settings.py

есть ли какая-либо известная ошибка, связанная с этим?

Это полная трассировка выглядит следующим образом:

 Odoo Server Error
Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "/home/odoo/src/odoo/odoo/http.py", line 683, in dispatch
    result = self._call_function(**self.params)
  File "/home/odoo/src/odoo/odoo/http.py", line 359, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/odoo/src/odoo/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/odoo/src/odoo/odoo/http.py", line 347, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/odoo/src/odoo/odoo/http.py", line 912, in __call__
    return self.method(*args, **kw)
  File "/home/odoo/src/odoo/odoo/http.py", line 531, in response_wrap
    response = f(*args, **kw)
  File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1377, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1369, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 394, in call_kw
    result = _call_kw_model_create(method, model, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 374, in _call_kw_model_create
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-188>", line 2, in create
  File "/home/odoo/src/odoo/odoo/api.py", line 323, in _model_create_single
    return create(self, arg)
  File "/home/odoo/src/odoo/addons/account/models/res_config_settings.py", line 176, in create
    return super(ResConfigSettings, self).create(values)
  File "<decorator-gen-64>", line 2, in create
  File "/home/odoo/src/odoo/odoo/api.py", line 344, in _model_create_multi
    return create(self, [arg])
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_fields.py", line 533, in create
    recs = super().create(vals_list)
  File "<decorator-gen-13>", line 2, in create
  File "/home/odoo/src/odoo/odoo/api.py", line 345, in _model_create_multi
    return create(self, arg)
  File "/home/odoo/src/odoo/odoo/models.py", line 3818, in create
    raise ValueError("Invalid field %r on model %r" % (key, self._name))
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/http.py", line 639, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/odoo/src/odoo/odoo/http.py", line 315, in _handle_exception
    raise exception.with_traceback(None) from new_cause
ValueError: Invalid field 'documents_account_settings' on model 'res.config.settings'
 

Ответ №1:

Убедитесь, что у вас установлено приложение documents_account , из которого оно будет инициализировано.

Ответ №2:

Обычно, когда нам (разработчикам) нужно что-то ввести от администратора, мы создаем поле, res.config.settings чтобы получить его, поэтому, если вы искали его в модуле account , вы можете никогда его не увидеть, оно создается другим модулем. Эта ошибка вызвана тем, что вы не установили правильный модуль или не указали, вы открываете представление, в котором отображается это поле ( documents_account_settings ), но у вас нет этого поля в вашей базе данных.

Есть 2 вещи (которые я знаю), которые вы можете сделать в этой ситуации, чтобы сделать ее лучше:

  • Найдите, где это поле создано в вашем исходном коде, и обновите или установите этот модуль, или проще (для пользователей Odoo), обновите модуль base , он может сбросить проблемные модули в вашей базе данных.
  • Если вы разработчик (что я предпочитаю, если true), вы можете перейти к своей базе данных, таблице ir_ui_view , найти, какое представление создало эту проблему (унаследовать представление с именем ‘res.config.settings.view.form’), а затем изменить его архитектурную часть.

Надеюсь, вы найдете это полезным, потому что я могу просто показать вам, как архивировать ваши цели, но не могу сделать это за вас.