Observação: é altamente recomendável a desenvolvedores que criam novos aplicativos usar a biblioteca de cliente NDB, porque ela oferece diversos benefícios em comparação com esta biblioteca de cliente, como armazenamento em cache automático de entidades por meio da API Memcache. Se você estiver usando a antiga biblioteca de cliente DB, leia o Guia de migração de DB para NDB.
As classes de modelo
EntityGroup
,
Namespace
,
Kind
e
Property
representam os resultados de receber ou consultar tipos de metadados.
Essas classes são todas definidas no pacote
google.appengine.ext.db.metadata
. Consulte a página
Metadados
para mais informações e exemplos de uso.
Funções auxiliares
As seguintes funções auxiliares estão disponíveis para informações de metadados sem emitir uma consulta ou um recebimento explícitos:
- get_entity_group_version(entity_or_key)
-
Retorna a versão do grupo de entidades que contém
entity_or_key
. Essa versão certamente aumenta a cada alteração feita no grupo de entidades. A versão pode aumentar mesmo na ausência de alterações visíveis ao usuário no grupo de entidades. Poderá retornarNone
se o grupo de entidades jamais tiver sido gravado.Aviso: agora, o comportamento dos metadados do grupo de entidades é diferente. A versão do grupo de entidades pode aumentar independentemente das atualizações do usuário. Anteriormente, a versão do grupo de entidades aumentava apenas quando o usuário fazia uma atualização. Para manter o comportamento legado, use a solução alternativa da versão de grupo de entidades (link em inglês).
Argumentos:
- entity_or_key
- a versão de uma chave ou entidade que você quer.
- get_namespaces(start=None, end=None)
-
Retorna uma lista de nomes de namespace.
Argumentos
- start
-
Se não for
None
, retorna apenas os nomes de namespace maiores ou iguais ao valor especificado. - end
-
Se não for
None
, retorna apenas os nomes de namespace menores que o valor especificado.
- get_kinds(start=None, end=None)
-
Retorna uma lista de nomes de tipos de entidade.
Argumentos
- start
-
Se não for
None
, retorna apenas os nomes de tipo maiores ou iguais ao valor especificado. - end
-
Se não for
None
, retorne apenas os nomes de tipo menores que o valor especificado.
- get_properties_of_kind(kind, start=None, end=None)
-
Retorna uma lista de nomes de propriedade indexados para um tipo especificado. Propriedades não indexadas não estão incluídas.
Argumentos
- kind
-
Tipo referente aos nomes de propriedade que são solicitados.
- start
-
Se não for
None
, retornará apenas os nomes de propriedades maiores ou iguais ao valor especificado. - end
-
Se não for
None
, retornará apenas os nomes de propriedades menores que o valor especificado.
- get_representations_of_kind(kind, start=None, end=None)
-
Retorna um dicionário que mapeia cada nome de propriedade indexada de um tipo especificado para uma lista das respectivas representações. Propriedades não indexadas não estão incluídas.
Argumentos
- kind
-
Tipo referente às representações de propriedade que são solicitadas.
- start
-
Se não for
None
, retornará somente representações de propriedades com nomes maiores ou iguais ao valor especificado. - end
-
Se não for
None
, retornará apenas representações de propriedades com nomes menores que o valor especificado.
- versão
- Número da versão
- key_for_entity(entity_or_key)
- Retorne a chave de metadados do grupo de entidades que contém
entity_or_key
. Use essa chave como argumento paraget()
a entidade de metadados__entity_group__
do grupo de entidades que contém entity_or_key.Argumentos:
- entity_or_key
- a chave
__entity_group__
de uma chave ou entidade que você quer.
- namespace_name
-
Retorna o nome do namespace especificado pela chave dessa entidade.
- key_for_namespace(namespace)
-
Retorna a chave
__namespace__
para o namespace especificado.Argumento
- namespace
-
Namespace referente à chave que é solicitada.
- key_to_namespace(key)
-
Retorna o namespace especificado por determinada chave
__namespace__
.Argumento
- key
-
Chave referente ao nome que é solicitado.
- kind_name
-
Retorna o nome do tipo especificado pela chave dessa entidade.
- key_for_kind(kind)
-
Retorna a chave
__kind__
para o tipo especificado.Argumento
- kind
-
Tipo referente à chave que é solicitada.
- key_to_kind(key)
-
Retorna o tipo especificado por determinada chave
__kind__
.Argumento
- key
-
Chave referente ao tipo que é solicitado.
- A chave da entidade tem o tipo
__property__
e o nome de chave P. - A chave da entidade pai tem o tipo
__kind__
e o nome da chave K. - kind_name
-
Retorna o nome do tipo especificado pela chave dessa entidade.
- property_name
-
Retorna o nome da propriedade especificado pela chave dessa entidade.
- key_for_kind(kind)
-
Retorna a chave pai para as chaves
__property__
do tipo especificado.Argumento
- kind
-
Tipo referente à chave pai que é solicitada.
- key_for_property(kind, property)
-
Retorna a chave
__property__
para a propriedade e o tipo especificados.Argumentos
- kind
-
Tipo referente à chave que é solicitada.
- propriedade
-
Propriedade referente à chave que é solicitada.
- key_to_kind(key)
-
Retorna o tipo especificado por determinada chave
__property__
.Argumento
- key
-
Chave referente ao nome de tipo que é solicitado.
- key_to_property(key)
-
Retorna a propriedade especificada por determinada chave
__property__
, ouNone
se a chave especificada for apenas um tipo.Argumento
- key
-
Chave referente ao nome de propriedade que é solicitado.
A classe EntityGroup
Modelo para metadados __entity_group__
(disponível apenas no armazenamento de dados HR).
Esses metadados contêm uma propriedade __version__
numérica que garante o aumento
em cada mudança no grupo de entidades. A versão pode aumentar mesmo na ausência de alterações visíveis ao usuário no grupo de entidades. A entidade
__entity_group__
pode não existir se o grupo de
entidades nunca tiver sido gravado.
Propriedade
Método de classe
A classe Namespace
A classe Namespace
representa uma entidade de metadados do tipo especial __namespace__
, retornada como resultado de uma
consulta de namespace.
A chave da entidade é o nome do namespace. Uma exceção é o namespace padrão designado pela string vazia ""
: como este não é um nome de chave válido, o namespace padrão é representado por uma chave com 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:
A classe Kind
Classe Kind
representa uma entidade de metadados do tipo especial __kind__
, retornada 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__
, retornada como resultado de uma
consulta de propriedade.
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: