gpt4 book ai didi

google-app-engine - 谷歌应用引擎 NDB : get an entity's id

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:23 24 4
gpt4 key购买 nike

这看起来很简单,但我只是没有找到如何从 Google App Engine 的 ndb 获取实体的 ID。

class Message(ndb.Model):
name: ndb.StringProperty()
...

创建消息对象:

message = Message(id=someId)
message.name = someName
message.put()

稍后当我检索实体时:

message = Message.query(Message.name==someName).fetch(1)

现在如何获取消息的 ID?谢谢。

最佳答案

如果您有key,您可以通过多种方式获取id

使用 fetchget

示例:

message = Message.query(Message.name==someName).fetch(1)[0]
message_id = message.key.id()

message = Message.query(Message.name==someName).get()
message_id = message.key.id()

如果您不需要实体而只需要id,那么您可以通过只获取 key 来节省资源。

message_key = Message.query(Message.name==someName).fetch(1, keys_only=True)[0]
message_id = message_key.id()

message_key = Message.query(Message.name==someName).get(keys_only=True)
message_id = message_key.id()

请记住,您也可以在 put 之后获得 key :

message_key = message.put()
message_id = message_key.id()

来自 Key Class NDB

关于google-app-engine - 谷歌应用引擎 NDB : get an entity's id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14458470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com