質問

一括取得するキー名のリストがあります (キー名は、エンティティに接続されたStringListPropertyに保存されます)。 私の一般的な計画は次のとおりでした:

usernames = userrefInstance.users # A collection of strings on another 
model. 
keys = [Key.from_path('User', key_name) for username in usernames] 
users = db.get(keys)

Key.from_pathはデータストアにヒットしますか?私は できるだけ早く、Key.from_pathがデータストアにヒットしたら、作業する必要があります キーのコレクションを保存する別の方法-特にしたくない ユーザーに提供するように、リストオブジェクトにキーオブジェクトを保存します StringListPropererties全体のわかりやすいクエリ。

役に立ちましたか?

解決

別のグループについて掘り下げて質問したところ、次のことがわかりました。

  

キーはアプリによって完全に決定されます   IDとパス。したがって、必要はありません。   このためにデータストアにアクセスします。 -ニックジョンソン

またはdb.Keyのリストを使用することもできます

他のヒント

Key.from_path()に渡すパラメーターには、一意のキーを構築するために必要なすべての情報が含まれているため、データストアにアクセスする必要はありません。

  

データストア内の各エンティティには、一意に識別するキーがあります。   キーは次のコンポーネントで構成されています。

     
      
  1. データストアクエリの目的で分類するエンティティの種類
  2.   
  3. 個々のエンティティの識別子。   
        
    • キー名の文字列
    •   
    • 整数の数値ID
    •   
  4.   
  5. データストア階層内のエンティティを検索するオプションの祖先パス
  6.   

ソース: https://developers.google.com/appengine/docs/ python / datastore / entities

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top