class Key(encoded = None) 数据存储区对象的唯一键。
通过将Key对象传递给str(),可以将键转换为字符串。字符串是“urlsafe” - 它仅使用有效用于URL的字符。通过将密钥的字符串表示传递给Key构造函数(编码参数),可以将其转换回Key对象。
注意:密钥的字符串表示看起来很神秘,但未加密!它可以转换回原始密钥数据,包括种类和标识符。如果您不想将此数据公开给您的用户(并允许他们轻松猜出其他实体的密钥),那么请加密这些字符串或使用其他内容。
编码 要转换回Key的Key实例的str形式。
答案 0 :(得分:13)
如果您使用的是Python NDB,则可以将密钥转换为URL安全字符串,如下所示:
key_str = yourmodel.key.urlsafe()
您可以将URL安全字符串转换回Key,如下所示:
my_key = ndb.Key(urlsafe=key_str)
有关详细信息,请查看NDB Key class
答案 1 :(得分:3)
如果我理解正确,您需要获取编码的Key字符串并将其转换回Key
对象。如果是这样,你可以这样做:
from google.appengine.ext.db import Key
# ...
key_str = '<your_key_string>'
key_obj = Key(key_str) # or Key(encoded=key_str)
entity = db.get(key_obj) # Although the string will work here as well