Class Kolom

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. Jika None, 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, atau datetime.datetime. Hanya objek tanggal dan waktu Python "naive" yang dapat digunakan. Objek "Aware" tidak diizinkan. Contoh berikut menunjukkan kolom tanggal bernama creation_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 atau datetime.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.