获取数据存储实体的父键

4 投票
1 回答
2461 浏览
提问于 2025-04-17 15:03

我想从某个实体中获取父级键。
我有两个类,分别是专辑(Album)和照片(Photo)。专辑是照片的父级,所以当我上传一张照片时,我会把它所属的专辑的键作为父级分配给这张照片。

album = db.get(self.album_key)
photo = Photo(parent=album)

问题出现在我尝试从照片中查询父级ID时。下面的代码只给我输出了“父级键: <”

photo = db.get(photo_key)
photoparent =  photo.parent

self.response.out.write("parent key: %s" %photoparent)

我该如何正确地从照片实例中提取父级键呢?

谢谢!

1 个回答

3

这里的“parent”是一个方法调用,而不是一个属性。

所以你的代码应该写成:

photoparent = photo.parent()

可以查看文档了解更多信息 https://developers.google.com/appengine/docs/python/datastore/modelclass#Model_parent

另外,当你在下面这行代码中输出键的时候:

self.response.out.write("parent key: %s" %photoparent)

这个键的str方法会输出一个对象的表示形式,里面会有<>这样的符号。所以你可能需要对“parent”做点什么,以便让它的HTML输出看起来更合理一些;-)

祝好

Tim

撰写回答