2011-07-02 13 views
1

こんにちは誰も私にそれを行うことができます教えて、私は初心者です。私はこれを使用してみました:モデルをインスタンス化せずにデータストア(アプリエンジン)レコードを取得するにはどうすればよいですか?

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

Modelインスタンスの代わりにdatastore.Entityオブジェクトが必要なのですか?そうならば、リストで、あなたがこれにあなたのコードを簡素化することができるはずキーを想定して:あなただけのキーがデータストア内のエンティティに一致しているかを確認したい場合は

return datastore.Get(keys)

をそれ以外の場合は、これを試してみてください。

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

あなたが照会しているエンティティの種類と<kind>を交換してください。

+0

::ありがとうございます。 – Vinodh

関連する問題