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. If- None, 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, or- datetime.datetime. Only Python "naive" date and time objects can be used. "Aware" objects are not allowed. The following example shows a date field named- creation_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 a- datetime.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.