如何将键的字符串版本转换回我可以使用get()函数获取实体实例的表单

use*_*203 6 google-app-engine google-cloud-datastore

class Key(encoded = None)数据存储区对象的唯一键.

通过将Key对象传递给str(),可以将键转换为字符串.字符串是"urlsafe" - 它仅使用有效用于URL的字符.通过将密钥的字符串表示传递给Key构造函数(编码参数),可以将其转换回Key对象.

注意:密钥的字符串表示看起来很神秘,但未加密!它可以转换回原始密钥数据,包括种类和标识符.如果您不希望将此数据公开给用户(并允许他们轻松猜出其他实体的密钥),则加密这些字符串或使用其他内容.

encoded用于转换回Key的Key实例的str形式.

Tha*_*ris 13

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

key_str = yourmodel.key.urlsafe()
Run Code Online (Sandbox Code Playgroud)

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

my_key = ndb.Key(urlsafe=key_str) 
Run Code Online (Sandbox Code Playgroud)

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


Roc*_*key 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
Run Code Online (Sandbox Code Playgroud)