注: 新しいアプリケーションを作成する際は、NDB クライアント ライブラリを使用することを強くおすすめします。NDB クライアント ライブラリには、Memcache API によるエンティティの自動キャッシュをはじめ、このクライアント ライブラリにはないメリットがあります。古い DB クライアント ライブラリを現在使用している場合は、DB から NDB への移行ガイドをお読みください。
モデルクラス EntityGroup
、Namespace
、Kind
、Property
は、メタデータの種類の取得またはクエリを実行した結果を表します。上記のクラスはすべて、google.appengine.ext.db.metadata
パッケージで定義されています。これらのクラスの詳細と使用例については、メタデータをご覧ください。
ヘルパー関数
明示的にクエリまたは get を発行しなくても、次のヘルパー関数を使用してメタデータ情報を取得できます。
- get_entity_group_version(entity_or_key)
-
entity_or_key
を含むエンティティ グループのバージョンを返します。このバージョンは、エンティティ グループに変更が加えられるたびに増分することが保証されています。ユーザーが認識できる変更がエンティティ グループに加えられていない場合でも、バージョンが増分することがあります。エンティティ グループの書き込みが一度も行われたことがなければ、None
が返されます。警告: 現在のエンティティ グループのメタデータの動作は以前と異なります。エンティティ グループのバージョンは、ユーザーによる更新とは別に増加させることができます。以前は、エンティティ グループのバージョンはユーザーによる更新時にのみ増加しました。従来の動作を維持するには、エンティティ グループのバージョンの回避策を使用します。
引数:
- entity_or_key
- バージョンを取得するキーまたはエンティティ。
- get_namespaces(start=None, end=None)
-
名前空間名のリストを返します。
引数
- start
-
None
でない場合、指定された値以上の名前空間名のみを返します。 - end
-
None
でない場合は、指定された値より小さい名前空間名のみを返します。
- get_kinds(start=None, end=None)
-
エンティティの種類名のリストを返します。
引数
- start
-
None
でない場合は、指定された値以上の種類名のみを返します。 - end
-
None
でない場合は、指定された値より小さい種類名のみを返します。
- get_properties_of_kind(kind, start=None, end=None)
-
指定された種類のインデックスありのプロパティ名のリストを返します。インデックスなしのプロパティは含まれません。
引数
- kind
-
プロパティ名を要求する種類。
- start
-
None
でない場合は、指定された値以上のプロパティ名のみを返します。 - end
-
None
でない場合は、指定された値より小さいプロパティ名のみを返します。
- get_representations_of_kind(kind, start=None, end=None)
-
指定された種類のインデックスありの各プロパティ名とその表現のリストをマッピングするディクショナリを返します。インデックスなしのプロパティは含まれません。
引数
- kind
-
プロパティの表現を要求する種類。
- start
-
None
でない場合は、指定された値以上の名前を持つプロパティの表現のみを返します。 - end
-
None
でない場合は、指定された値より小さい名前を持つプロパティの表現のみを返します。
- version
- バージョン番号
- key_for_entity(entity_or_key)
entity_or_key
が含まれているエンティティ グループのメタデータキーを返します。このキーを引数としてget()
に渡すと、entity_or_key が含まれているエンティティ グループの__entity_group__
メタデータ エンティティを取得できます。引数:
- entity_or_key
__entity_group__
キーを取得するキーまたはエンティティ。
- namespace_name
-
このエンティティのキーが指す名前空間の名前を返します。
- key_for_namespace(namespace)
-
指定された名前空間の
__namespace__
キーを返します。引数
- namespace
-
キーを要求する名前空間。
- key_to_namespace(key)
-
指定した
__namespace__
キーが指す名前空間を返します。引数
- キー
-
名前空間を要求するキー。
- kind_name
-
このエンティティのキーが指す種類の名前を返します。
- key_for_kind(kind)
-
指定された種類の
__kind__
キーを返します。引数
- kind
-
キーを要求する種類。
- key_to_kind(key)
-
指定された
__kind__
キーが指す種類を返します。引数
- キー
-
種類を要求するキー。
- エンティティのキーの種類は
__property__
で、キー名は P です。 - 親エンティティのキーの種類は
__kind__
で、キー名は K です。 - kind_name
-
このエンティティのキーが指す種類の名前を返します。
- property_name
-
このエンティティのキーが指す種類の名前を返します。
- key_for_kind(kind)
-
指定された種類の
__property__
キーの親キーを返します。引数
- kind
-
親キーを要求する種類。
- key_for_property(kind, property)
-
指定されたプロパティと種類の
__property__
キーを返します。引数
- kind
-
キーを要求する種類。
- プロパティ
-
キーを要求するプロパティ。
- key_to_kind(key)
-
指定された
__property__
キーが指す種類を返します。引数
- キー
-
種類の名前を要求するキー。
- key_to_property(key)
-
指定された
__property__
キーが指すプロパティを返します。キーが種類だけを指している場合はNone
を返します。引数
- キー
-
プロパティの名前を要求するキー。
EntityGroup クラス
__entity_group__
メタデータのモデル(HR データストアでのみ使用可能)。
このメタデータには、数値の __version__
プロパティが含まれます。これは、エンティティ グループに変更が加えられるたびに増分することが保証されています。ユーザーが認識できる変更がエンティティ グループに加えられていない場合でも、バージョンが増分することがあります。エンティティ グループが一度も書き込まれていない場合は、__entity_group__
エンティティは存在しません。
プロパティ
クラスメソッド
Namespace クラス
Namespace
クラスは、名前空間クエリの結果として返される __namespace__
という特殊な種類のメタデータ エンティティを表します。このエンティティのキーは、名前空間の名前です(空の文字列 ""
で示されるデフォルトの名前空間は例外です。空の文字列は有効なキー名ではないため、デフォルトの名前空間は数値 ID 1
が設定されたキーで表されます)。
プロパティ
Namespace
クラスのインスタンスには次のメソッドがあります。
クラスメソッド
Namespace
クラスには次のクラスメソッドがあります。
Kind クラス
Kind
クラスは、種類のクエリの結果として返される __kind__
という特殊な種類のメタデータ エンティティを表します。このエンティティのキーは、エンティティの種類の名前です。
プロパティ
Kind
クラスのインスタンスには次のメソッドがあります。
クラスメソッド
Kind
クラスには次のクラスメソッドがあります。
Property クラス
Property
クラスは、プロパティ クエリの結果として返される __property__
という特殊な種類のメタデータ エンティティを表します。プロパティが P、種類が K で表現されるエンティティは次のように構築されます。
プロパティ
Property
クラスのインスタンスには次のメソッドがあります。
クラスメソッド
Property
クラスには次のクラスメソッドがあります。