NDB Key クラス

Key クラスのインスタンスは不変の Datastore キーを表します。

このページには、API リファレンス ドキュメントがあります。概要については、NDB エンティティとキーをご覧ください。

はじめに

キーは Datastore の不変のキーです。アプリケーションは、これらのキーを使用してエンティティを参照します。保存されたエンティティには、キーがあります。エンティティのキーを取得するには、モデルの key プロパティを使用します。キーからエンティティを取得するには、Key オブジェクトの get() メソッドを呼び出します。

キーは、key1 == key2key1 < key2 のように比較できます。これらの演算子で、アプリケーション ID、名前空間、完全な祖先パスを比較します。データストアがクエリで使用する順序を使用して、key プロパティやキーで順序付けを行います。

repr(key) または str(key) は、最短のコンストラクタ形式に類似した文字列表現を返します。デフォルト値と異なる場合を除き、アプリと名前空間が省略されます。

hash(key) が機能します。キーをハッシュ テーブルに格納できます。

コンストラクタ

柔軟性と利便性を高めるため、複数のコンストラクタ署名がサポートされます。

class Key(kind1, id1, kind2, id2, ...)
class Key(pairs=[(kind1, id1), (kind2, id2), ...])
class Key(flat=[kind1, id1, kind2, id2, ...])
class Key(urlsafe=string)

位置引数 kind1id1kind2id2 は上位順です。これは flat=[kind1, id1, kind2, id2] のショートカットです。子の前に親が置かれます。

位置引数 pairsflat コンストラクタ形式が、parent=key を使用して別のキーを渡す場合があります。(kind, id) ペアが明示的に渡される前に、親キーの (kind, id) ペアが挿入されます。

urlsafe キーワード パラメータは、ウェブセーフな Base64 エンコードのシリアル化されたリファレンスを使用しますが、これは、不透明な一意の文字列だと考えてください。

追加のコンストラクタ キーワード引数:

app
アプリケーション ID(文字列)を指定します。
namespace
名前空間(文字列)を指定します。

データストアに影響を与えないインスタンス メソッド

次のメソッドは、キーのコンテンツにアクセスします。Datastore I/O アクティビティには関与しません。

pairs()

(kind, id) ペアのタプルを返します。

flat()

平坦化された kind と id の値のタプル (kind1, id1, kind2, id2, ...) を返します。

app()

アプリケーション ID を返します。

id()

最後の (kind, id) ペアの文字列または整数 ID を返します。キーが不完全な場合には None を返します。

string_id()

最後の (kind, id) ペアの文字列 ID を返します。キーに整数 ID がある場合あるいはキーが不完全な場合には None を返します。

integer_id()

最後の (kind, id) ペアの整数 ID を返します。キーが文字列の場合あるいはキーが不完全な場合には None を返します。

namespace()

名前空間を返します。

kind()

最後の (kind, id) ペアの種類を返します。

parent()

最後の (kind, id) を除くすべてのペアから生成されたキーを返します。キーに (kind, id) ペアが 1 つしかない場合には None を返します。

urlsafe()

ウェブセーフな Base64 エンコードのシリアル バージョンのキーを返します。

注: URL セーフの文字列は暗号のように見えますが、実際には暗号化されていません。簡単にデコードして、元のエンティティの種類と ID を復元できます

to_old_key()

古い Datastore API(db)の Key を返します。

データストアに影響を与えるインスタンス メソッド

この種のメソッドは、データストアと情報を交換します。

get(**ctx_options)

キーのエンティティを返します。

引数

**ctx_options
コンテキスト オプション
get_async(**ctx_options)

最終的な結果がキーのエンティティになる Future を返します。

引数

**ctx_options
コンテキスト オプション
delete(**ctx_options)

キーのエンティティを削除します。

引数

**ctx_options
コンテキスト オプション
delete_async(**ctx_options)

キーのエンティティを非同期的に削除します。

引数

**ctx_options
コンテキスト オプション

クラス メソッド

from_old_key(k)

古い Datastore API(dbKey で渡された NDB キーを返します。

引数

**ctx_options
コンテキスト オプション
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python の App Engine スタンダード環境