A classe Field
é uma classe base abstrata que representa um campo de um documento. Esta classe não deve ser instanciada diretamente. Em alternativa, use uma das subclasses que representam tipos de dados específicos.
Field
está definido no módulo google.appengine.api.search
.
Propriedades
Uma instância da classe Field
tem as seguintes propriedades:
- name
Nome do campo. Tem de começar por uma letra, conter apenas letras, dígitos e sublinhados (
_
) e não ter mais de 500 carateres.- language
Código de idioma ISO 693-1 de duas letras para o conteúdo do campo, para ajudar na tokenização. Por exemplo,
en
significa que o campo está em inglês. SeNone
, é usado o código do idioma do documento.- valor
Valor do campo. O tipo de dados varia consoante a subclasse específica.
Subclasses
A classe Field
tem as seguintes subclasses:
- class TextField
Um campo que contém texto.
O valor do campo tem de ser uma string ou uma string Unicode. O exemplo seguinte mostra um campo de texto denominado
signature
com conteúdo em polaco: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 comprimento máximo permitido.
- class HtmlField
Um campo que contém conteúdo HTML.
O valor do campo tem de ser uma string ou uma string Unicode que contenha o conteúdo pesquisável do campo. O exemplo seguinte 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 comprimento máximo permitido.
- class 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 tem de ser uma string ou um objeto Unicode para ser tratado como um token atómico. O exemplo seguinte mostra um campo atom 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 comprimento máximo permitido.
- class NumberField
Um campo que contém um valor numérico.
O valor do campo tem de ser numérico. O exemplo seguinte mostra um campo numérico denominado
size
com o valor inteiro 10:NumberField(name='size', value=10)
Exceção
- TypeError
O valor fornecido não é numérico.
- class DateField
Um campo que contém um valor de data ou data/hora.
O valor do campo tem de ser do tipo
datetime.date
oudatetime.datetime
. Só é possível usar objetos de data e hora"ingénuos" do Python . Não são permitidos objetos "Aware". O exemplo seguinte mostra um campo de data denominadocreation_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 umdatetime.datetime
.
- class GeoField
Um campo que contém um valor GeoPoint.
O exemplo que se segue mostra um GeoField denominado
place
que representa uma localização a -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
.