Referência do Python de entidades de metadados

Nota: os programadores que criam novas aplicações são fortemente aconselhados a usar a biblioteca de cliente NDB, que tem várias vantagens em comparação com esta biblioteca de cliente, como o armazenamento em cache automático de entidades através da API Memcache. Se estiver a usar atualmente a biblioteca cliente DB mais antiga, leia o guia de migração de DB para NDB

As classes de modelos EntityGroup, Namespace, Kind, e Property representam os resultados da obtenção ou da consulta de tipos de metadados. Estas classes estão todas definidas no pacote google.appengine.ext.db.metadata. Consulte a página Metadados para ver mais informações e exemplos da respetiva utilização.

Funções auxiliares

As seguintes funções auxiliares estão disponíveis para obter informações de metadados sem emitir uma consulta explícita ou um pedido get:

get_entity_group_version(entity_or_key)

Devolve a versão do grupo de entidades que contém entity_or_key. Esta versão tem a garantia de aumentar em todas as alterações ao grupo de entidades. A versão pode aumentar mesmo na ausência de alterações visíveis para o utilizador no grupo de entidades. Pode devolver None se o grupo de entidades nunca tiver sido escrito.

Aviso: o comportamento dos metadados do grupo de entidades é agora diferente. A versão do grupo de entidades pode aumentar independentemente das atualizações do utilizador. Anteriormente, a versão do grupo de entidades aumentava apenas na atualização do utilizador. Para manter o comportamento antigo, use a solução alternativa da versão do grupo de entidades.

Argumentos:

entity_or_key
uma chave ou uma entidade cuja versão quer.
get_namespaces(start=None, end=None)

Devolve uma lista de nomes de espaços de nomes.

Argumentos

start

Se não for None, devolve apenas os nomes dos espaços de nomes superiores ou iguais ao valor especificado.

end

Se não for None, devolve apenas os nomes dos espaços de nomes inferiores ao valor especificado.

get_kinds(start=None, end=None)

Devolve uma lista de nomes de tipos de entidades.

Argumentos

start

Se não for None, devolve apenas nomes de tipos iguais ou superiores ao valor especificado.

end

Se não for None, devolve apenas nomes de tipos inferiores ao valor especificado.

get_properties_of_kind(kind, start=None, end=None)

Devolve uma lista de nomes de propriedades indexadas para um tipo especificado. As propriedades não indexadas não estão incluídas.

Argumentos

kind

O tipo cujos nomes de propriedades são pedidos.

start

Se não for None, devolve apenas os nomes das propriedades iguais ou superiores ao valor especificado.

end

Se não for None, devolve apenas os nomes das propriedades inferiores ao valor especificado.

get_representations_of_kind(kind, start=None, end=None)

Devolve um dicionário que mapeia cada nome de propriedade indexado para um tipo especificado numa lista das respetivas representações. As propriedades não indexadas não estão incluídas.

Argumentos

kind

O tipo cujas representações de propriedades são pedidas.

start

Se não for None, devolva apenas representações de propriedades cujos nomes sejam superiores ou iguais ao valor especificado.

end

Se não for None, devolva apenas representações de propriedades cujos nomes sejam inferiores ao valor especificado.

A classe EntityGroup

Modelo para metadados de __entity_group__ (disponível apenas no repositório de dados de RH).

Estes metadados contêm uma propriedade numérica __version__ que tem a garantia de aumentar em todas as alterações ao grupo de entidades. A versão pode aumentar, mesmo na ausência de alterações visíveis para o utilizador no grupo de entidades. A entidade __entity_group__ pode não existir se o grupo de entidades nunca tiver sido escrito.

Propriedade

versão
O número da versão

Método de classe

key_for_entity(entity_or_key)
Devolve a chave de metadados para o grupo de entidades que contém entity_or_key. Use esta chave como o argumento para get() a entidade de metadados para o grupo de entidades que contém entity_or_key.__entity_group__

Argumentos:

entity_or_key
uma chave ou uma entidade cuja chave __entity_group__ quer.

A classe Namespace

A classe Namespace representa uma entidade de metadados do tipo especial __namespace__, devolvida como resultado de uma consulta de espaço de nomes. A chave da entidade é o nome do espaço de nomes. (Uma exceção é o espaço de nomes predefinido designado pela string vazia "": uma vez que não se trata de um nome de chave válido, o espaço de nomes predefinido é representado por uma chave com o ID numérico 1.)

Propriedade

As instâncias da classe Namespace têm a seguinte propriedade:

namespace_name

Devolve o nome do espaço de nomes especificado pela chave desta entidade.

Métodos de classe

A classe Namespace tem os seguintes métodos de classe:

key_for_namespace(namespace)

Devolve a chave __namespace__ para o espaço de nomes especificado.

Argumento

namespace

O espaço de nomes cuja chave é pedida.

key_to_namespace(key)

Devolve o espaço de nomes especificado por uma determinada chave __namespace__.

Argumento

key

A chave cujo nome é pedido.

The Kind Class

A classe Kind representa uma entidade de metadados do tipo especial __kind__, devolvida como resultado de uma consulta de tipo. A chave da entidade é o nome do tipo de entidade.

Propriedade

As instâncias da classe Kind têm a seguinte propriedade:

kind_name

Devolve o nome do tipo especificado pela chave desta entidade.

Métodos de classe

A classe Kind tem os seguintes métodos de classe:

key_for_kind(kind)

Devolve a chave __kind__ para o tipo especificado.

Argumento

kind

O tipo cuja chave é pedida.

key_to_kind(key)

Devolve o tipo especificado por uma determinada chave __kind__.

Argumento

key

A chave cujo tipo é pedido.

A classe Property

A classe Property representa uma entidade de metadados do tipo especial __property__, devolvida como resultado de uma consulta de propriedades. A entidade que representa a propriedade P do tipo K é criada da seguinte forma:

  • A chave da entidade tem o tipo __property__ e o nome da chave P.
  • A chave da entidade principal tem o tipo __kind__ e o nome da chave K.

Propriedades

As instâncias da classe Property têm as seguintes propriedades:

kind_name

Devolve o nome do tipo especificado pela chave desta entidade.

property_name

Devolve o nome da propriedade especificado pela chave desta entidade.

Métodos de classe

A classe Property tem os seguintes métodos de classe:

key_for_kind(kind)

Devolve a chave principal das chaves __property__ do tipo especificado.

Argumento

kind

O tipo cuja chave principal é pedida.

key_for_property(kind, property)

Devolve a chave __property__ para a propriedade e o tipo especificados.

Argumentos

kind

O tipo cuja chave é pedida.

propriedade

A propriedade cuja chave é pedida.

key_to_kind(key)

Devolve o tipo especificado por uma determinada chave __property__.

Argumento

key

A chave cujo nome do tipo é pedido.

key_to_property(key)

Devolve a propriedade especificada por uma determinada chave __property__ ou None se a chave especificar apenas um tipo.

Argumento

key

A chave cujo nome da propriedade é pedido.