如何在不实例化模型的情况下获取数据存储区(app engine)记录?

时间:2011-07-02 14:30:17

标签: python google-cloud-datastore

你们可以告诉我怎么做,我是初学者。我试过用这个:

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 

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

1 个答案:

答案 0 :(得分:1)

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

return datastore.Get(keys)

否则,如果您只想查看哪些密钥在数据存储区中具有匹配的实体,请尝试以下操作:

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

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