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 forNone
, 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
oudatetime.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 chamadocreation_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 umdatetime.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
.