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, - enindica que el campo está en inglés. Si es- None, 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 - signaturecon 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 - sizecon 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.dateo- datetime.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 llamado- creation_dateque 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.dateni- datetime.datetime.
 
- class GeoField
- Campo que contiene un valor GeoPoint. - En el siguiente ejemplo se muestra un GeoField llamado - placeque 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.