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,
en
signifies 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
signature
with 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
size
with 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_date
representing the date 21 March 2011:DateField(name='creation_date', value=datetime.date(2011, 03, 21))
Exception
- TypeError
Value supplied is not a
datetime.date
or adatetime.datetime
.
- class GeoField
A field containing a GeoPoint value.
The following example shows a GeoField named
place
representing 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
.