Referência do Python de entidades de metadados

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á retornar None 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.

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

versão
Número da versão

Método de classe

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 para get() 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.

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:

namespace_name

Retorna o nome do namespace especificado pela chave dessa entidade.

Métodos de classe

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

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.

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:

kind_name

Retorna o nome do tipo especificado pela chave dessa entidade.

Métodos de classe

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

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 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:

  • 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.

Propriedades

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

kind_name

Retorna o nome do tipo especificado pela chave dessa entidade.

property_name

Retorna o nome da propriedade especificado pela chave dessa entidade.

Métodos de classe

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

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__, ou None se a chave especificada for apenas um tipo.

Argumento

key

Chave referente ao nome de propriedade que é solicitado.