Python 获取数据存储中关键对象的模型上下文(应用程序引擎)
我想通过在memcache中存储Python 获取数据存储中关键对象的模型上下文(应用程序引擎),python,google-app-engine,google-cloud-datastore,Python,Google App Engine,Google Cloud Datastore,我想通过在memcache中存储str(key)来绕过一些频繁的查询。当我从memcached获取encoded\u密钥时,我可以使用key(encoded=encoded\u key)重建密钥 但是如何从键查询实际对象呢?一种可能是使用 GqlQuery('SELECT * FROM ' + Key(encoded_key).kind() + \ ' WHERE __key__ = ' + encoded_key) 但如果可能的话,我宁愿不使用GQL。有没有一种不使用GQL获取对象的
str(key)
来绕过一些频繁的查询。当我从memcached获取encoded\u密钥
时,我可以使用key(encoded=encoded\u key)
重建密钥
但是如何从键查询实际对象呢?一种可能是使用
GqlQuery('SELECT * FROM ' + Key(encoded_key).kind() + \
' WHERE __key__ = ' + encoded_key)
但如果可能的话,我宁愿不使用GQL。有没有一种不使用GQL获取对象的方法?您只是将
str(key)
的结果存储在memcached中吗?如果是这样的话,当你把它取回时,你应该能够只做db.get(key)
来获取它所指向的实体
db.get()?如果是这样的话,当你把它取回时,你应该能够只做db.get(key)
来获取它所指向的实体
db.get()!我一定是在阅读API文档时错过了这条有用的信息。耶,谢谢!在阅读API文档时,我一定错过了这条有用的信息。顺便说一句,像这样构造GQL查询是一个非常糟糕的主意。提供参数(:1,:2等)以防止需要执行此操作。谢谢Nick。我知道,这只是样板代码,我一开始不想使用GQL。顺便说一句,像这样构造GQL查询是一个非常糟糕的主意。提供参数(:1,:2等)以防止需要执行此操作。谢谢Nick。我知道,这只是样板代码,我一开始不想使用GQL。