如何在不实例化模型的情况下获取数据存储(应用程序引擎)记录?

发布于 2024-11-18 08:00:23 字数 394 浏览 1 评论 0原文

嗨,谁能告诉我如何做到这一点,我是初学者。我尝试使用这个:

def get_entities(keys):
    rpc = datastore.GetRpcFromKwargs({})
    keys, multiple = datastore.NormalizeAndTypeCheckKeys(keys)
    entities = None
    try:
        entities = datastore.Get(keys, rpc=rpc)
    except datastore_errors.EntityNotFoundError:
        assert not multiple

    return entities 

但无法在没有模型使用的情况下获取密钥。

Hi can anyone tell me how it can be done,i am a beginner. I tried using this:

def get_entities(keys):
    rpc = datastore.GetRpcFromKwargs({})
    keys, multiple = datastore.NormalizeAndTypeCheckKeys(keys)
    entities = None
    try:
        entities = datastore.Get(keys, rpc=rpc)
    except datastore_errors.EntityNotFoundError:
        assert not multiple

    return entities 

but unable to get keys without the models use.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尹雨沫 2024-11-25 08:00:23

您的意思是您想要 datastore.Entity 对象而不是 Model 实例吗?如果是这样,假设键是一个列表,您应该能够将代码简化为:

return datastore.Get(keys)

否则,如果您只想查看哪些键在数据存储区中具有匹配的实体,试试这个:

return db.GqlQuery('SELECT __key__ FROMWHERE __key__ IN :1', keys)

替换 为您要查询的实体类型。

do you mean you want datastore.Entity objects instead of Model instances? if so, assuming keys is a list, you should be able to simplify your code to this:

return datastore.Get(keys)

otherwise, if you just want to see which keys have matching entities in the datastore, try this:

return db.GqlQuery('SELECT __key__ FROM <kind> WHERE __key__ IN :1', keys)

replace <kind> with the kind of entity you're querying for.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文