Die Klasse Field
ist eine abstrakte Basisklasse, die ein Feld eines Dokuments darstellt. Diese Klasse sollte nicht direkt instanziiert werden. Verwenden Sie stattdessen eine der abgeleiteten Klassen, die bestimmte Datentypen darstellen.
Field
ist im Modul google.appengine.api.search
definiert.
Eigenschaften
Eine Instanz der Klasse Field
hat die folgenden Attribute:
- name
Name des Feldes. Muss mit einem Buchstaben beginnen, darf nur Buchstaben, Ziffern und Unterstriche (
_
) enthalten und höchstens 500 Zeichen lang sein.- Sprache
Sprachcode mit zwei Buchstaben nach ISO 693-1 für den Inhalt des Feldes zur Unterstützung der Vergabe eines Tokens. Beispiel:
en
bedeutet, dass die Sprache im Feld Englisch ist. BeiNone
wird der Sprachcode des Dokuments herangezogen.- Wert
Wert des Feldes. Der Datentyp hängt von der jeweiligen abgeleiteten Klasse ab.
Abgeleitete Klassen
Die Klasse Field
hat die folgenden abgeleiteten Klassen:
- Klasse TextField
Ein Feld, das Text enthält.
Der Wert des Feldes muss ein String oder ein Unicode-String sein. The following example shows a text field named
signature
with Polish language content:TextField(name='signature', value='brzydka pogoda', language='pl')
-
Ausnahmen
- TypeError
Der angegebene Wert ist kein Textstring.
- ValueError
Der Wert überschreitet die maximal zulässige Länge.
- Klasse HtmlField
Ein Feld mit HTML-Inhalt.
Der Wert des Feldes muss ein String oder ein Unicode-String mit dem durchsuchbaren Inhalt des Feldes sein. Das folgende Beispiel zeigt ein HTML-Feld mit dem Namen
content
:HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')
-
Ausnahmen
- TypeError
Der angegebene Wert ist kein Textstring.
- ValueError
Der Wert überschreitet die maximal zulässige Länge.
- Klasse AtomField
Ein Feld, das Text enthält, der für Indexierungszwecke als unteilbares (atomares) Token behandelt werden soll.
Der Wert des Feldes muss ein String oder ein Unicode-Objekt sein, der bzw. das als unteilbares Token behandelt werden soll. Das folgende Beispiel zeigt ein Atomfeld mit dem Namen
contributor
:AtomField(name='contributor', value='foo@bar.com')
-
Ausnahmen
- TypeError
Der angegebene Wert ist kein Textstring.
- ValueError
Der Wert überschreitet die maximal zulässige Länge.
- Klasse NumberField
Ein Feld, das einen numerischen Wert enthält.
Der Wert des Feldes muss numerisch sein. Das folgende Beispiel zeigt ein Zahlenfeld namens
size
mit dem Ganzzahlwert 10:NumberField(name='size', value=10)
Ausnahme
- TypeError
Der angegebene Wert ist nicht numerisch.
- Klasse DateField
Ein Feld, das einen Datums- oder Datum/Uhrzeit-Wert enthält.
The field's value must be of type
datetime.date
, ordatetime.datetime
. In Python können nur "naive" Datums- und Uhrzeitobjekte verwendet werden. "Bewusste" Objekte sind nicht zulässig. 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))
Ausnahme
- TypeError
Der angegebene Wert ist weder ein
datetime.date
noch eindatetime.datetime
.
- class GeoField
Ein Feld, das einen Wert vom Typ GeoPoint enthält.
Das folgende Beispiel zeigt ein GeoField mit dem Namen
place
, das einen Standort bei Breitengrad -33,84 und Längengrad 151,26 darstellt:GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))
Ausnahme
- TypeError
Der angegebene Wert ist kein
GeoPoint
.