La clase Field
es una clase base abstracta que representa un campo de un documento. Esta clase no debe instanciarse directamente. En su lugar, utilice una de las subclases que representan tipos de datos específicos.
Field
se define en el módulo google.appengine.api.search
.
Propiedades
Una instancia de la clase Field
tiene las siguientes propiedades:
- name
Nombre del campo. Debe empezar por una letra, contener solo letras, números y guiones bajos (
_
) y no superar los 500 caracteres.- language
Código de idioma ISO 693-1 de dos letras del contenido del campo para facilitar la tokenización. Por ejemplo,
en
indica que el campo está en inglés. Si esNone
, se usará el código de idioma del documento.- value
Valor del campo. El tipo de datos varía en función de la subclase específica.
Subclases
La clase Field
tiene las siguientes subclases:
- class TextField
Campo que contiene texto.
El valor del campo debe ser una cadena o una cadena Unicode. En el siguiente ejemplo se muestra un campo de texto llamado
signature
con contenido en polaco:TextField(name='signature', value='brzydka pogoda', language='pl')
-
Excepciones
- TypeError
El valor proporcionado no es una cadena de texto.
- ValueError
El valor supera la longitud máxima permitida.
- class HtmlField
Campo que contiene contenido HTML.
El valor del campo debe ser una cadena o una cadena Unicode que contenga el contenido del campo que se puede buscar. En el siguiente ejemplo se muestra un campo HTML llamado
content
:HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')
-
Excepciones
- TypeError
El valor proporcionado no es una cadena de texto.
- ValueError
El valor supera la longitud máxima permitida.
- clase AtomField
Campo que contiene texto que se debe tratar como un token indivisible (atómico) con fines de indexación.
El valor del campo debe ser una cadena o un objeto Unicode para que se trate como un token atómico. En el siguiente ejemplo se muestra un campo atom llamado
contributor
:AtomField(name='contributor', value='foo@bar.com')
-
Excepciones
- TypeError
El valor proporcionado no es una cadena de texto.
- ValueError
El valor supera la longitud máxima permitida.
- class NumberField
Campo que contiene un valor numérico.
El valor del campo debe ser numérico. En el siguiente ejemplo se muestra un campo de número llamado
size
con el valor entero 10:NumberField(name='size', value=10)
Excepción
- TypeError
El valor proporcionado no es numérico.
- clase DateField
Un campo que contiene un valor de fecha o de fecha y hora.
El valor del campo debe ser de tipo
datetime.date
odatetime.datetime
. Solo se pueden usar objetos de fecha y hora "ingenuos" de Python. No se permiten objetos "Aware". En el siguiente ejemplo se muestra un campo de fecha llamadocreation_date
que representa la fecha 21 de marzo del 2011:DateField(name='creation_date', value=datetime.date(2011, 03, 21))
Excepción
- TypeError
El valor proporcionado no es
datetime.date
nidatetime.datetime
.
- class GeoField
Campo que contiene un valor GeoPoint.
En el siguiente ejemplo se muestra un GeoField llamado
place
que representa una ubicación a -33,84 grados de latitud y 151,26 grados de longitud:GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))
Excepción
- TypeError
El valor proporcionado no es un
GeoPoint
.