#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’), а затем изменить его архитектурную часть.
Надеюсь, вы найдете это полезным, потому что я могу просто показать вам, как архивировать ваши цели, но не могу сделать это за вас.