Key.from_pathはデータストアにヒットしますか?
-
22-07-2019 - |
質問
一括取得するキー名のリストがあります (キー名は、エンティティに接続された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()
に渡すパラメーターには、一意のキーを構築するために必要なすべての情報が含まれているため、データストアにアクセスする必要はありません。
データストア内の各エンティティには、一意に識別するキーがあります。 キーは次のコンポーネントで構成されています。
- データストアクエリの目的で分類するエンティティの種類
- 個々のエンティティの識別子。
- キー名の文字列
- 整数の数値ID
- データストア階層内のエンティティを検索するオプションの祖先パス
ソース: https://developers.google.com/appengine/docs/ python / datastore / entities
所属していません StackOverflow