6

class Key(encoded=None) Datastore 对象的唯一键。

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

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

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

4

2 回答 2

13

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

key_str = yourmodel.key.urlsafe()

您可以从 URL 安全字符串转换回 Key,如下所示:

my_key = ndb.Key(urlsafe=key_str) 

有关更多信息,请查看NDB Key 类

于 2012-12-07T21:08:41.797 回答
3

如果我对您的理解正确,您希望获取编码的密钥字符串并将其转换回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
于 2012-12-07T03:14:05.687 回答