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.