Class Field
adalah class dasar abstrak yang mewakili kolom dokumen. Class ini tidak boleh dibuat instance-nya secara langsung; sebagai gantinya, gunakan salah satu subclass yang mewakili jenis data tertentu.
Field
ditentukan dalam modul google.appengine.api.search
.
Properti
Instance class Field
memiliki properti berikut:
- nama
Nama kolom. Harus diawali dengan huruf, hanya berisi huruf, angka, dan garis bawah (
_
), dan tidak lebih dari 500 karakter.- bahasa
Kode bahasa dua huruf ISO 693-1 untuk konten kolom, untuk membantu dalam tokenisasi. Misalnya,
en
menandakan bahwa kolom tersebut adalah bahasa Inggris. JikaNone
, kode bahasa dokumen akan digunakan.- nilai
Nilai kolom. Jenis data bervariasi, bergantung pada subclass tertentu.
Subclass
Class Field
memiliki subclass berikut:
- class TextField
Kolom yang berisi teks.
Nilai kolom harus berupa string atau string Unicode. Contoh berikut menampilkan kolom teks bernama
signature
dengan konten bahasa Polandia:TextField(name='signature', value='brzydka pogoda', language='pl')
-
Pengecualian
- TypeError
Nilai yang diberikan bukan string teks.
- ValueError
Nilai melebihi panjang maksimum yang diizinkan.
- class HtmlField
Kolom yang berisi konten HTML.
Nilai kolom harus berupa string atau string Unicode yang berisi konten kolom yang dapat ditelusuri. Contoh berikut menunjukkan kolom HTML bernama
content
:HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')
-
Pengecualian
- TypeError
Nilai yang diberikan bukan string teks.
- ValueError
Nilai melebihi panjang maksimum yang diizinkan.
- class AtomField
Kolom yang berisi teks yang akan diperlakukan sebagai token yang tidak terlihat (atomik) untuk tujuan pengindeksan.
Nilai kolom harus berupa string atau objek Unicode agar diperlakukan sebagai token atomik. Contoh berikut menunjukkan kolom atom bernama
contributor
:AtomField(name='contributor', value='foo@bar.com')
-
Pengecualian
- TypeError
Nilai yang diberikan bukan string teks.
- ValueError
Nilai melebihi panjang maksimum yang diizinkan.
- class NumberField
Kolom yang berisi nilai numerik.
Nilai kolom harus berupa angka. Contoh berikut menampilkan kolom angka bernama
size
dengan nilai bilangan bulat 10:NumberField(name='size', value=10)
Pengecualian
- TypeError
Nilai yang diberikan bukan numerik.
- class DateField
Kolom yang berisi nilai tanggal atau datetime.
Nilai kolom harus berjenis
datetime.date
, ataudatetime.datetime
. Hanya objek tanggal dan waktu Python "naive" yang dapat digunakan. Objek "Aware" tidak diizinkan. Contoh berikut menunjukkan kolom tanggal bernamacreation_date
yang merepresentasikan tanggal 21 Maret 2011:DateField(name='creation_date', value=datetime.date(2011, 03, 21))
Pengecualian
- TypeError
Nilai yang diberikan bukan
datetime.date
ataudatetime.datetime
.
- class GeoField
Kolom yang berisi nilai GeoPoint.
Contoh berikut menampilkan GeoField bernama
place
yang mewakili lokasi pada lintang -33,84 derajat dan bujur 151,26 derajat:GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))
Pengecualian
- TypeError
Nilai yang diberikan bukan
GeoPoint
.