Openerp中是否存在Session变量

时间:2014-04-25 06:00:25

标签: openerp openerp-7

我正在尝试将gobally值存储在我的自定义模块中。我将它作为Gobal变量。但是在形式上gobal变量并不是很好。我想在会话中存储该变量。任何人都可以告诉我如何在Openerp.Thanks中提前访问Session变量。

2 个答案:

答案 0 :(得分:3)

在OpenERP中,您使用 UID 。此UID定义当前用户会话。每次HTTP页面路由 _authenticate() 方法调用。

_authenticate() 方法在此路径中实施。

  

<强>的OpenERP /服务器/中继/ OpenERP的/附加元件/碱/ IR / ir_http.py

使用UID验证get

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中设置键/值,它将被传递并可用于其他方法。 (规则是方法总是将上下文传递给它们调用的其他方法。)