我正在尝试将gobally值存储在我的自定义模块中。我将它作为Gobal变量。但是在形式上gobal变量并不是很好。我想在会话中存储该变量。任何人都可以告诉我如何在Openerp.Thanks中提前访问Session变量。
答案 0 :(得分:3)
在OpenERP中,您使用 UID
。此UID定义当前用户会话。每次HTTP页面路由 _authenticate()
方法调用。
此 _authenticate()
方法在此路径中实施。
<强>的OpenERP /服务器/中继/ OpenERP的/附加元件/碱/ IR / ir_http.py 强>
def _authenticate(self, auth_method='user'):
if request.session.uid:
try:
request.session.check_security()
# what if error in security.check()
# -> res_users.check()
# -> res_users.check_credentials()
except (openerp.exceptions.AccessDenied, openerp.http.SessionExpiredException):
# All other exceptions mean undetermined status (e.g. connection pool full),
# let them bubble up
request.session.logout()
getattr(self, "_auth_method_%s" % auth_method)()
return auth_method
答案 1 :(得分:0)
解决方案可能取决于您需要全局变量的原因。但您可能需要使用context
:
方法可以在当前context
中设置键/值,它将被传递并可用于其他方法。 (规则是方法总是将上下文传递给它们调用的其他方法。)