Classes de campo

A classe 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.

idioma:

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 chamado signature com conteúdo em 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 chamado 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 exemplo a seguir mostra um campo atômico chamado 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 exemplo a seguir mostra um campo numérico chamado 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 "simples" do Python podem ser usados. Os objetos "conscientes" não são permitidos. O exemplo a seguir mostra um campo de data chamado creation_date que representa a data de 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 ou um datetime.datetime.

classe GeoField

Um campo que contém um valor GeoPoint.

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

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

Exceção

TypeError

O valor fornecido não é um GeoPoint.