Class Field
is an abstract base class representing a field of a document. This class should not be directly instantiated; instead, use one of the subclasses representing specific data types.
Field
is defined in the module google.appengine.api.search
.
Properties
An instance of class Field
has the following properties:
- name
-
Name of the field. Must begin with a letter, contain only letters, digits, and underscores (
_), and be no longer than 500 characters. - language
-
Two-letter ISO 693-1 language code for the field's content, to assist in tokenization. For example,
ensignifies that the field is English. IfNone, the language code of the document will be used. - value
-
Value of the field. Data type varies depending on the specific subclass.
Subclasses
Class Field
has the following subclasses:
- class TextField
-
A field containing text.
The field's value must be a string or Unicode string. The following example shows a text field named
signaturewith Polish language content:TextField(name='signature', value='brzydka pogoda', language='pl')
-
Exceptions
- TypeError
-
Value supplied is not a text string.
- ValueError
-
Value exceeds maximum allowable length.
- class HtmlField
-
A field containing HTML content.
The field's value must be a string or Unicode string containing the searchable content of the field. The following example shows an HTML field named
content:HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')
-
Exceptions
- TypeError
-
Value supplied is not a text string.
- ValueError
-
Value exceeds maximum allowable length.
- class AtomField
-
A field containing text to be treated as an indivisible (atomic) token for indexing purposes.
The field's value must be a string or Unicode object to be treated as an atomic token. The following example shows an atom field named
contributor:AtomField(name='contributor', value='foo@bar.com')
-
Exceptions
- TypeError
-
Value supplied is not a text string.
- ValueError
-
Value exceeds maximum allowable length.
- class NumberField
-
A field containing a numeric value.
The field's value must be numeric. The following example shows a number field named
sizewith integer value 10:NumberField(name='size', value=10)
-
Exception
- TypeError
-
Value supplied is not numeric.
- class DateField
-
A field containing a date or datetime value.
The field's value must be of type
datetime.date, ordatetime.datetime. Only Python "naive" date and time objects can be used. "Aware" objects are not allowed. The following example shows a date field namedcreation_daterepresenting the date 21 March 2011:DateField(name='creation_date', value=datetime.date(2011, 03, 21))
-
Exception
- TypeError
-
Value supplied is not a
datetime.dateor adatetime.datetime.
- class GeoField
-
A field containing a GeoPoint value.
The following example shows a GeoField named
placerepresenting a location at -33.84 degrees latitude and 151.26 degrees longitude:GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))
-
Exception
- TypeError
-
Value supplied is not a
GeoPoint.

