Google app engine 如何将键的字符串版本转换回可以使用get()函数获取实体实例的形式

Google app engine 如何将键的字符串版本转换回可以使用get()函数获取实体实例的形式,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,类键(编码=无) 数据存储对象的唯一键 通过将key对象传递给str(),可以将key转换为字符串。字符串是“urlsafe”-它只使用URL中有效的字符。通过将键的字符串表示形式传递给键构造函数(编码参数),可以将其转换回键对象 注意:密钥的字符串表示形式看起来很神秘,但没有加密!它可以转换回原始密钥数据,包括种类和标识符。如果您不想将此数据公开给用户(并允许他们轻松猜测其他实体的密钥),请加密这些字符串或使用其他方法 编码的 要转换回键的键实例的str形式。如果我理解正确,您希望获取编码的键

类键(编码=无) 数据存储对象的唯一键

通过将key对象传递给str(),可以将key转换为字符串。字符串是“urlsafe”-它只使用URL中有效的字符。通过将键的字符串表示形式传递给键构造函数(编码参数),可以将其转换回键对象

注意:密钥的字符串表示形式看起来很神秘,但没有加密!它可以转换回原始密钥数据,包括种类和标识符。如果您不想将此数据公开给用户(并允许他们轻松猜测其他实体的密钥),请加密这些字符串或使用其他方法

编码的
要转换回键的键实例的str形式。

如果我理解正确,您希望获取编码的键字符串并将其转换回
键对象。如果是,您可以这样做:

来自google.appengine.ext.db导入密钥
# ...
键_str=''
key_obj=key(key_str)#或key(encoded=key_str)
entity=db.get(key_obj)#尽管字符串在这里也可以使用

如果您使用的是Python NDB,则可以将密钥转换为URL安全字符串,如下所示:

key_str = yourmodel.key.urlsafe()
my_key = ndb.Key(urlsafe=key_str) 
您可以将URL安全字符串转换回键,如下所示:

key_str = yourmodel.key.urlsafe()
my_key = ndb.Key(urlsafe=key_str) 
有关更多信息,请参阅