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 devolverNone
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.
- versão
- O número da versão
- 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 paraget()
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.
- namespace_name
-
Devolve o nome do espaço de nomes especificado pela chave desta entidade.
- 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.
- kind_name
-
Devolve o nome do tipo especificado pela chave desta entidade.
- 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 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. - kind_name
-
Devolve o nome do tipo especificado pela chave desta entidade.
- property_name
-
Devolve o nome da propriedade especificado pela chave desta entidade.
- 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__
ouNone
se a chave especificar apenas um tipo.Argumento
- key
-
A chave cujo nome da propriedade é pedido.
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
Método de classe
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:
Métodos de classe
A classe Namespace
tem os seguintes métodos de classe:
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:
Métodos de classe
A classe Kind
tem os seguintes métodos de classe:
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:
Propriedades
As instâncias da classe Property
têm as seguintes propriedades:
Métodos de classe
A classe Property
tem os seguintes métodos de classe: