我在模型中(以及在视图中)登录和发送电子邮件。我正在尝试使用onchange操作复制电子邮件字段上的登录字段。但是当我升级Odoo时会出现错误:
Odoo Server Error
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 647, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 307, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
raise value
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 689, in dispatch
result = self._call_function(**self.params)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 339, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 332, in checked_call
result = self.endpoint(*a, **kw)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 933, in __call__
return self.method(*args, **kw)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 512, in response_wrap
response = f(*args, **kw)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\web\controllers\main.py", line 934, in call_button
action = self._call_kw(model, method, args, {})
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\web\controllers\main.py", line 922, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-46>", line 2, in button_immediate_upgrade
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\base\module\module.py", line 71, in check_and_log
return method(self, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\base\module\module.py", line 602, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\base\module\module.py", line 541, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 339, in load_modules
force, status, report, loaded_modules, update_module)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 242, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\loading.py", line 135, in load_module_graph
registry.init_models(cr, model_names, {'module': package.name})
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 311, in init_models
func()
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\fields.py", line 2404, in update_db_foreign_keys
sql.add_foreign_key(cr, self.relation, self.column2, comodel._table, 'id', 'cascade')
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\sql.py", line 150, in add_foreign_key
cr.execute(query.format(tablename1, columnname1, tablename2, columnname2, ondelete))
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 155, in wrapper
return f(self, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 232, in execute
res = self._obj.execute(query, params)
psycopg2.ProgrammingError: relation doesn´t exists «_unknown»
Y尝试使用其他字段,但错误始终相同。 字段没问题,我手动测试了两个字段。 这是我的onchange动作:
@api.onchange('login')
def on_change_login(self):
self.email = self.login
答案 0 :(得分:0)
在文件 odoo / odoo / fields.py 函数self.comodel_name == '_unknown'
中添加条件为update_db_foreign_keys
的断点,并检查 self 指的是< / p>