【发布时间】:2013-04-08 20:44:51
【问题描述】:
此功能在交互式控制台上运行良好:
from google.appengine.api import namespace_manager
from google.appengine.ext import db
namespace_manager.set_namespace("some_namespace")
class Class(db.Model):
c = db.StringProperty()
x = Class(c="text")
x.put()
但是当登录执行namespace_manager.set_namespace(user.namespace)时,所有检索到并存储在数据存储区中的数据都属于根(空)命名空间。
提出问题
- 我是否设置了错误的命名空间?
- 我是否必须在每次检索和存储数据之前设置它(在留言簿示例中不是这种情况)
- 如果在服务器端设置了 namespece,它如何知道哪个 post/get() 属于哪个命名空间?
请不要将我指向此链接:https://developers.google.com/appengine/docs/python/multitenancy/multitenancy 文档非常...
编辑 这回答了问题
"set_namespace(namespace) 设置当前HTTP的命名空间 请求。”
我想“为什么留言簿示例不同”的答案在 appengine_config.py。
现在唯一的问题是 - 当登录用户时,他必须能够读取根命名空间,所以显然我必须将用户数据存储在根命名空间中,但是一旦他登录并且他的命名空间设置为特定的东西,我的cookie 检查功能无法访问根命名空间并导致错误。
我该如何解决? (感觉像是在自言自语)
【问题讨论】:
标签: python google-app-engine namespaces