在Google App Engine中,Model.get(key)和Model.get_by_key_name(key_names)之间有什么区别?

时间:2009-07-12 22:36:15

标签: google-app-engine google-cloud-datastore

get(key)是否需要实体密钥,get_by_key_name(key_names)是否需要key_name?

2 个答案:

答案 0 :(得分:10)

有区别。数据存储区中的实体由其Kind,其父级和标识符的组合标识。 (link)“标识符”可以是数字或字符串。 Key对象包含标识符和父信息。所以当你调用get()时,只有一个参数--Key对象。当你调用get_by_key_name时,请注意有2个参数 - 一个是key_name,一个是父。

因此,Key是一个包含多个部分的对象,而键名只是一个字符串。为了使事情更加混乱,可以将Key对象编码为字符串。

答案 1 :(得分:0)

以下是get()的官方说明,此问题适用于get_by_key_name() 我希望这会有所帮助。