メタデータ エンティティ Python リファレンス

注: 新しいアプリケーションを作成する際は、NDB クライアント ライブラリを使用することを強くおすすめします。NDB クライアント ライブラリには、Memcache API によるエンティティの自動キャッシュをはじめ、このクライアント ライブラリにはないメリットがあります。古い DB クライアント ライブラリを現在使用している場合は、DB から NDB への移行ガイドをお読みください。

モデルクラス EntityGroupNamespaceKindProperty は、メタデータの種類の取得またはクエリを実行した結果を表します。上記のクラスはすべて、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 でない場合は、指定された値より小さい名前を持つプロパティの表現のみを返します。

EntityGroup クラス

__entity_group__ メタデータのモデル(HR データストアでのみ使用可能)。

このメタデータには、数値の __version__ プロパティが含まれます。これは、エンティティ グループに変更が加えられるたびに増分することが保証されています。ユーザーが認識できる変更がエンティティ グループに加えられていない場合でも、バージョンが増分することがあります。エンティティ グループが一度も書き込まれていない場合は、__entity_group__ エンティティは存在しません。

プロパティ

version
バージョン番号

クラスメソッド

key_for_entity(entity_or_key)
entity_or_key が含まれているエンティティ グループのメタデータキーを返します。このキーを引数として get() に渡すと、entity_or_key が含まれているエンティティ グループの __entity_group__ メタデータ エンティティを取得できます。

引数:

entity_or_key
__entity_group__ キーを取得するキーまたはエンティティ。

Namespace クラス

Namespace クラスは、名前空間クエリの結果として返される __namespace__ という特殊な種類のメタデータ エンティティを表します。このエンティティのキーは、名前空間の名前です(空の文字列 "" で示されるデフォルトの名前空間は例外です。空の文字列は有効なキー名ではないため、デフォルトの名前空間は数値 ID 1 が設定されたキーで表されます)。

プロパティ

Namespace クラスのインスタンスには次のメソッドがあります。

namespace_name

このエンティティのキーが指す名前空間の名前を返します。

クラスメソッド

Namespace クラスには次のクラスメソッドがあります。

key_for_namespace(namespace)

指定された名前空間の __namespace__ キーを返します。

引数

namespace

キーを要求する名前空間。

key_to_namespace(key)

指定した __namespace__ キーが指す名前空間を返します。

引数

キー

名前空間を要求するキー。

Kind クラス

Kind クラスは、種類のクエリの結果として返される __kind__ という特殊な種類のメタデータ エンティティを表します。このエンティティのキーは、エンティティの種類の名前です。

プロパティ

Kind クラスのインスタンスには次のメソッドがあります。

kind_name

このエンティティのキーが指す種類の名前を返します。

クラスメソッド

Kind クラスには次のクラスメソッドがあります。

key_for_kind(kind)

指定された種類の __kind__ キーを返します。

引数

kind

キーを要求する種類。

key_to_kind(key)

指定された __kind__ キーが指す種類を返します。

引数

キー

種類を要求するキー。

Property クラス

Property クラスは、プロパティ クエリの結果として返される __property__ という特殊な種類のメタデータ エンティティを表します。プロパティが P、種類が K で表現されるエンティティは次のように構築されます。

  • エンティティのキーの種類は __property__ で、キー名は P です。
  • 親エンティティのキーの種類は __kind__ で、キー名は K です。

プロパティ

Property クラスのインスタンスには次のメソッドがあります。

kind_name

このエンティティのキーが指す種類の名前を返します。

property_name

このエンティティのキーが指す種類の名前を返します。

クラスメソッド

Property クラスには次のクラスメソッドがあります。

key_for_kind(kind)

指定された種類の __property__ キーの親キーを返します。

引数

kind

親キーを要求する種類。

key_for_property(kind, property)

指定されたプロパティと種類の __property__ キーを返します。

引数

kind

キーを要求する種類。

プロパティ

キーを要求するプロパティ。

key_to_kind(key)

指定された __property__ キーが指す種類を返します。

引数

キー

種類の名前を要求するキー。

key_to_property(key)

指定された __property__ キーが指すプロパティを返します。キーが種類だけを指している場合は None を返します。

引数

キー

プロパティの名前を要求するキー。