Class Field adalah class dasar untuk semua kolom yang ditentukan pada pesan. Class ini tidak dapat diperluas oleh developer.
Field
disediakan oleh modul protorpc.messages
.
Konstruktor
Konstruktor class Field didefinisikan sebagai berikut:
- class Field (message_type, number, [required=False | repeated=False], variant=None, default=None)
-
Menginisialisasi instance Field. Setiap sub-class Field harus menentukan hal berikut:
VARIANTS
- Kumpulan jenis varian yang diterima oleh kolom tersebut.
DEFAULT_VARIANT
- Jenis varian default jika tidak ditentukan di konstruktor.
- number
- Jumlah kolom. Harus unik per class pesan.
- required=False
- Kolom ini wajib diisi atau tidak. Tidak dapat muncul bersamaan dengan argumen
repeated
; jangan tentukanrepeated
jika Anda menggunakanrequired
. - repeated=False
- Kolom ini diulang atau tidak. Tidak dapat muncul bersamaan dengan argumen
required
; jangan tentukanrequired=True
jika Anda juga menggunakanrepeated=True
. - variant=None
- Memberikan informasi encoding tambahan yang umumnya digunakan oleh buffering protokol. Varian ini dipetakan ke nilai Type di
descriptor.proto
. Praktik terbaiknya adalah menggunakan nilai default, tetapi Anda dapat menentukan nilai sebagai 32-bit, 64-bit, tidak bertanda tangan, dll. - default=None
- Nilai default untuk kolom jika tidak ditemukan dalam permintaan dasar.
Catatan: Nilai default tidak diizinkan untuk kolom berulang atau kolom pesan.
Pengecualian berikut muncul:
- InvalidVariantError saat varian yang tidak valid untuk kolom diberikan.
- InvalidDefaultError jika default untuk kolom diberikan.
- FieldDefinitionError jika angka yang diberikan tidak valid atau kolom yang tidak dapat muncul bersamaan digunakan.
- InvalidNumberError jika nomor kolom berada di luar rentang atau dicadangkan.
Properti Class
Class FieldList memiliki satu properti:
- default()
- Nilai default untuk kolom.
Metode Instance
Instance FieldList memiliki metode berikut:
- validate(value)
- Memvalidasi nilai yang ditetapkan ke kolom.
Argumen
- value
- Nilai yang perlu dievaluasi.
Memunculkan ValidationError jika nilainya bukan jenis yang diharapkan.
- validate_default_element(value)
-
Memvalidasi nilai yang ditetapkan ke kolom default. Khusus untuk satu elemen.
Beberapa kolom mungkin mengizinkan penundaan resolusi jenis default yang diperlukan dalam kasus referensi definisi melingkar. Dalam hal ini, nilai default-nya mungkin berupa placeholder yang diselesaikan jika diperlukan setelah semua class pesan ditentukan.
Argumen- value
- Nilai default untuk memvalidasi.
Memunculkan ValidationError jika nilainya bukan jenis yang diharapkan.
- validate_default(value)
-
Memvalidasi nilai default kolom.
Argumen- value
- Nilai default untuk memvalidasi.
Memunculkan ValidationError jika nilainya bukan jenis yang diharapkan.
- message_definition()
-
Mendapatkan definisi pesan yang berisi definisi Field ini. Menampilkan definisi untuk objek Message yang berisi Field. Menampilkan None jika Field ditentukan di luar class pesan.
Memunculkan ValidationError jika nilainya bukan jenis yang diharapkan.