无法使用NDB get_by_id来获取命名空间中的实体

时间:2012-04-25 18:04:30

标签: python google-app-engine app-engine-ndb

我想在当前命名空间之外阅读以下内容:

some_entity = MyModel.get_by_id(some_id_name, namespace='somenamespace')

但get_by_id不将名称空间作为参数。我明白了:

TypeError: Unknown configuration option ('namespace')

我已经有了可以使用的东西:

some_entity = ndb.Key(MyModel, some_id_name, namespace='somenamespace').get()

所以现在我只是抱怨,但我认为其他人可以从中受益。 :)此外,既然Guido监视这个,是否有理由不允许在get_by_id中使用命名空间选项?

编辑: This is now possible in App Engine 1.7.0.

2 个答案:

答案 0 :(得分:3)

请在NDB问题跟踪器中提交功能请求:http://code.google.com/p/appengine-ndb-experiment/issues/list

答案 1 :(得分:0)

您可以先更改命名空间,然后获取实体by_id

from google.appengine.api import namespace_manager

namespace_manager.set_namespace('thenamespace')
MyModel.get_by_id(some_id_name)