Classes de campo

Field é uma classe de base abstrata que representa um campo de um documento. Essa classe não precisa ser instanciada diretamente. Em vez disso, use uma das subclasses que representam tipos de dados específicos.

Field é definido no módulo google.appengine.api.search.

Propriedades

Uma instância da classe Field tem as seguintes propriedades:

name

Nome do campo. Ele precisa começar com uma letra, conter apenas letras, dígitos e sublinhados (_) e não ter mais que 500 caracteres.

language

Código de idioma ISO 693-1 de duas letras do conteúdo do campo para auxiliar na tokenização. Por exemplo, en significa que o campo está em inglês. Se for None, o código de idioma do documento será usado.

value

Valor do campo. O tipo de dados varia de acordo com a subclasse específica.

Subclasses

A classe Field tem as seguintes subclasses:

Classe TextField

Um campo que contém texto.

O valor do campo precisa ser uma string ou uma string Unicode. O exemplo a seguir mostra um campo de texto denominado signature com conteúdo no idioma polonês:

TextField(name='signature', value='brzydka pogoda', language='pl')

Exceções

TypeError

O valor fornecido não é uma string de texto.

ValueError

O valor excede o tamanho máximo permitido.

Classe HtmlField

Um campo que contém conteúdo HTML.

O valor do campo precisa ser uma string ou uma string Unicode que apresenta o conteúdo pesquisável do campo. O exemplo a seguir mostra um campo HTML denominado content:

HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')

Exceções

TypeError

O valor fornecido não é uma string de texto.

ValueError

O valor excede o tamanho máximo permitido.

Classe AtomField

Um campo que contém texto a ser tratado como um token indivisível (atômico) para fins de indexação.

O valor do campo precisa ser uma string ou um objeto Unicode a ser tratado como um token atômico. O seguinte exemplo mostra um campo atômico denominado contributor:

AtomField(name='contributor', value='foo@bar.com')

Exceções

TypeError

O valor fornecido não é uma string de texto.

ValueError

O valor excede o tamanho máximo permitido.

Classe NumberField

Um campo que contém um valor numérico.

O valor do campo precisa ser numérico. O seguinte exemplo mostra um campo numérico denominado size com valor inteiro 10:

NumberField(name='size', value=10)

Exceção

TypeError

O valor fornecido não é numérico.

Classe DateField

Um campo contendo um valor de data ou data e hora.

O valor do campo precisa ser do tipo datetime.date ou datetime.datetime. Somente objetos de data e hora "naive" (em inglês) do Python podem ser usados. Os objetos "aware" não são permitidos. O seguinte exemplo mostra um campo de data denominado creation_date que representa a data 21 de março de 2011:

DateField(name='creation_date', value=datetime.date(2011, 03, 21))

Exceção

TypeError

O valor fornecido não é um datetime.date nem um datetime.datetime.

Classe GeoField

Um campo que contém um valor GeoPoint.

O exemplo a seguir mostra um GeoField denominado place que representa um local em -33,84 graus de latitude e 151,26 graus de longitude:

GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))

Exceção

TypeError

O valor fornecido não é um GeoPoint.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Python 2