Clases Field

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 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 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 o 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_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 ni datetime.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.