Bagaimana Menentukan Medan Diperlukan dalam Pydantic

Bagaimana Menentukan Medan Diperlukan Dalam Pydantic



Medan yang diperlukan ialah medan yang mesti ada dalam model data. Medan ini penting dan tidak boleh dibiarkan kosong, kerana ia diperlukan untuk berfungsi dengan betul atau menyelesaikan proses. Jika medan yang diperlukan tidak diberi nilai, Pydantic akan menimbulkan pengecualian ValueError. Medan boleh ditakrifkan sebagai medan yang diperlukan dalam pelbagai cara. Walau bagaimanapun, Pydantic menetapkan semua medan model data 'diperlukan' secara lalai. Artikel ini akan menunjukkan cara untuk menentukan medan yang diperlukan dalam Pydantic. Kami juga akan membincangkan beberapa petua yang baik untuk menggunakan medan yang diperlukan.

Faedah Menggunakan Medan Yang Diperlukan

Terdapat beberapa faedah menggunakan medan yang diperlukan dalam Pydantic.

  • Memastikan kelengkapan data: Medan yang diperlukan membantu kami memastikan model data kami lengkap dan sah. Ini boleh membantu mengelakkan ralat dalam kod dan pemprosesan data anda.
  • Mencegah input berniat jahat: Medan yang diperlukan juga boleh digunakan untuk menghalang pengguna berniat jahat daripada menyuntik data tidak sah ke dalam sistem anda.
  • Membuat kod lebih mudah dibaca: Anda boleh meningkatkan kebolehbacaan serta pemahaman kod anda dengan menggunakan medan yang diperlukan.

Bagaimana Menentukan Medan Diperlukan dalam Pydantic

Dalam Pydantic, terdapat tiga kaedah untuk menentukan medan sebagai medan yang diperlukan. Mari kita terokai setiap daripada mereka secara terperinci.







Menggunakan Anotasi

Cara paling mudah untuk menentukan medan yang diperlukan dalam Pydantic adalah dengan menggunakan anotasi. Menggunakan anotasi, sejenis metadata sintaksis, anda boleh menambah butiran lanjut tentang pembolehubah dan atribut kelas. Dalam Pydantic, anotasi digunakan untuk menunjukkan jenis data yang dijangkakan bagi sesuatu medan dan secara lalai, semua medan beranotasi dianggap diperlukan sehingga anda membuat medan atau medan sebagai pilihan.



daripada pydantic import BaseModel

kelas Orang ( BaseModel ) :

nama penuh: str

ketinggian: terapung

emel : str

Dalam contoh ini, full_name, ketinggian dan e-mel adalah semua medan yang diperlukan. Jika anda mencipta contoh kelas Orang tanpa memberikan nilai untuk medan ini, Pydantic akan menimbulkan ValidationError yang menunjukkan bahawa medan yang diperlukan tiada.



cubalah :

data_orang = {

'tinggi' : 5.8 ,

}

orang = Orang ( **data_orang )

kecuali ValueError sebagai Ia adalah:

cetak ( Ia adalah )





Dalam contoh ini, medan nama_penuh tiada dan medan ketinggian juga tiada. Kedua-dua medan ini diperlukan dan ValidationError memberikan maklumat yang jelas tentang medan yang hilang.

Menggunakan Ellipsis (…)

Satu lagi cara untuk mengisytiharkan medan seperti yang diperlukan dalam Pydantic adalah dengan menggunakan elipsis ( ). Ini ialah pendekatan eksplisit yang disediakan oleh Pydantic, untuk menandakan medan seperti yang diperlukan.



daripada pydantic import BaseModel

kelas produk ( BaseModel ) :

nama: str = ...

harga : terapung = ...

penerangan : str = ...

Dalam contoh ini, nama medan, harga dan perihalan semuanya ditakrifkan seperti yang diperlukan menggunakan elipsis. Kaedah ini menjadikannya jelas dan kelihatan bahawa medan tertentu tidak boleh dilangkau semasa membuat tika kelas Produk.

cubalah :

data_produk = {

'nama' : 'Telefon bimbit' ,

'penerangan' : 'Telefon pintar dengan 16Gb RAM' ,

}

produk = produk ( **data_produk )

kecuali ValueError sebagai Ia adalah:

cetak ( Ia adalah )


Dalam contoh ini, medan harga tiada dan ValidationError dengan jelas menunjukkan medan yang diperlukan tiada.

Menggunakan Fungsi Medan

Fungsi Medan daripada modul Pydantic menyediakan keupayaan tambahan untuk menyesuaikan pengesahan medan dan metadata. Anda boleh menggunakan fungsi Medan untuk mengisytiharkan medan yang diperlukan dan menggunakan peraturan pengesahan tambahan.

Begini cara anda boleh menentukan medan yang diperlukan menggunakan fungsi Medan:

daripada pydantic import BaseModel , Padang

kelas Alamat ( BaseModel ) :

jalan: str = Padang ( ... , penerangan = 'Alamat jalan' )

bandar: str = Padang ( ... )

zip_code: str = Padang ( ... )

Dalam contoh ini, kami menggunakan fungsi Medan untuk mentakrifkan medan yang diperlukan jalan, bandar dan zip_kod, bersama-sama dengan peraturan dan perihalan pengesahan tambahan. Ellipsis “…” menunjukkan bahawa medan ini mesti ditakrifkan sebagai medan yang diperlukan.

cubalah :

data_alamat = {

'jalan' : 'Jalan Utama 111' ,

'kod_zip' : '123456'

}

alamat = Alamat ( **data_alamat )

kecuali ValueError sebagai Ia adalah:

cetak ( Ia adalah )

Dalam contoh ini, medan bandar tiada dan ValidationError memberikan maklumat tentang medan yang diperlukan yang tiada.

Medan yang diperlukan boleh disahkan menggunakan ciri Pydantic lain, seperti kekangan dan jenis. Sebagai contoh, anda boleh menentukan bahawa medan nama mestilah rentetan sekurang-kurangnya 5 aksara. Anda boleh menggunakan penghias Medan untuk menyesuaikan tingkah laku medan yang diperlukan. Sebagai contoh, anda boleh menentukan nilai lalai untuk medan atau mesej untuk dipaparkan jika medan tidak diberi nilai.

Menggunakan Pelbagai Kaedah untuk Mentakrifkan Medan Diperlukan dalam Model Pidantik Tunggal

Anda boleh menggunakan berbilang kaedah untuk mentakrifkan medan yang diperlukan dalam satu model Pydantic. Sebagai contoh, anda boleh menggunakan anotasi untuk beberapa medan, elipsis ( ) untuk orang lain, dan fungsi Medan untuk penyesuaian tambahan. Pydantic membolehkan anda memilih pendekatan terbaik untuk organisasi kod anda dan keutamaan kebolehbacaan. Pertimbangkan contoh berikut:

daripada pydantic import BaseModel , Padang

kelas Pekerja ( BaseModel ) :

nama: str

jabatan: str =

gaji: terapung = Padang ( )

Dalam contoh ini, semua medan diperlukan untuk digunakan. Kami telah menggunakan tiga kaedah berbeza untuk menentukan medan yang diperlukan. Medan nama menggunakan anotasi, jabatan menggunakan elipsis, dan gaji menggunakan fungsi Medan.

Petua untuk Menggunakan Medan Diperlukan

Mengikuti beberapa amalan baik semasa mentakrifkan medan yang diperlukan dalam Pydantic adalah penting untuk membuat kod yang licin dan boleh diselenggara. Petua berikut akan membantu anda menentukan medan yang diperlukan dalam Pydantic:

  1. Gunakan Nama Medan Jelas dan Deskriptif : Pilih nama yang bermakna untuk medan anda yang jelas menunjukkan tujuannya. Ini membantu pembangun lain mengetahui data yang diperlukan dan mengurangkan kemungkinan kehilangan medan yang diperlukan.
  2. Menyediakan Penerangan Bidang Bermaklumat : Apabila menggunakan fungsi Medan untuk mentakrifkan medan yang diperlukan, berikan penerangan deskriptif yang menerangkan tujuan dan format data yang dijangkakan.
  3. Medan Berkaitan Kumpulan : Jika model data anda mempunyai bilangan medan yang banyak, pertimbangkan untuk mengumpulkan medan berkaitan ke dalam struktur bersarang. Ini boleh membantu kod anda lebih mudah dibaca dan memudahkan pengurusan medan yang diperlukan.
  4. Gunakan mesej tersuai untuk medan yang diperlukan: Secara lalai, Pydantic akan menaikkan pengecualian ValueError jika medan yang diperlukan tidak diberikan nilai. Anda boleh menyesuaikan mesej ralat dengan menyatakan argumen mesej ke penghias Lapangan.

Kesimpulan

Pydantic, secara lalai, menjadikan medan seperti yang diperlukan. Walau bagaimanapun, anda boleh mentakrifkan medan secara eksplisit sebagai medan yang diperlukan. Dengan mengisytiharkan medan seperti yang diperlukan, anda memastikan bahawa model data anda adalah tepat, lengkap dan sejajar dengan keperluan anda. Dalam siaran ini, kami merangkumi tiga kaedah berbeza untuk mentakrifkan medan yang diperlukan dalam Pydantic, iaitu anotasi, elipsis (…), dan fungsi Medan. Selain itu, kami melihat beberapa amalan yang disyorkan untuk menggunakan medan yang diperlukan supaya anda boleh menentukan medan dalam model data anda dengan berkesan.