Kā definēt obligātos laukus programmā Pydantic

Ka Definet Obligatos Laukus Programma Pydantic



Obligāts lauks ir lauks, kuram ir jābūt iekļautam datu modelī. Šie lauki ir būtiski, un tos nevar atstāt tukšus, jo tie ir nepieciešami, lai pareizi darbotos vai pabeigtu procesu. Ja obligātajam laukam nav piešķirta vērtība, Pydantic aktivizēs ValueError izņēmumu. Laukus kā obligātos laukus var definēt dažādos veidos. Tomēr Pydantic pēc noklusējuma iestata visus datu modeļa laukus “obligāti”. Šajā rakstā tiks parādīts, kā Pydantic definēt obligātos laukus. Apspriedīsim arī dažus labus padomus par obligāto lauku izmantošanu.

Obligāto lauku izmantošanas priekšrocības

Obligāto lauku izmantošanai Pydantic ir vairākas priekšrocības.

  • Datu pilnīguma nodrošināšana: Obligātie lauki palīdz mums nodrošināt, ka mūsu datu modeļi ir pilnīgi un derīgi. Tas var palīdzēt novērst kļūdas jūsu kodā un datu apstrādē.
  • Ļaunprātīgas ievades novēršana: Obligātos laukus var izmantot arī, lai neļautu ļaunprātīgiem lietotājiem ievadīt jūsu sistēmā nederīgus datus.
  • Padarot kodu lasāmāku: Varat uzlabot koda lasāmību un izpratni par to, izmantojot obligātos laukus.

Kā definēt obligātos laukus programmā Pydantic

Programmā Pydantic ir trīs metodes, kā definēt lauku kā obligātu lauku. Izpētīsim katru no tiem sīkāk.







Anotāciju izmantošana

Vienkāršākais veids, kā Pydantic definēt obligāto lauku, ir izmantot anotācijas. Izmantojot anotācijas, sintaktisko metadatu veidu, varat pievienot sīkāku informāciju par klašu mainīgajiem un atribūtiem. Programmā Pydantic anotācijas tiek izmantotas, lai norādītu paredzamo lauka datu veidu, un pēc noklusējuma visi anotētie lauki tiek uzskatīti par nepieciešamiem, līdz lauks vai lauki nav obligāti.



no pidantisks imports Pamatmodelis

klasē Persona ( Pamatmodelis ) :

pilnais vārds: str

augstums: peldēt

e-pasts : str

Šajā piemērā lauki pilns_nosaukums, augstums un e-pasta adrese ir visi obligātie lauki. Ja izveidojat Personas klases gadījumu, nenorādot vērtības šiem laukiem, Pydantic parādīs ValidationError, norādot, ka trūkst obligāto lauku.



mēģināt :

personas_dati = {

'augstums' : 5.8 ,

}

persona = Persona ( **personas_dati )

izņemot ValueError Tas ir:

drukāt ( Tas ir )





Šajā piemērā trūkst lauka full_name, un trūkst arī augstuma lauka. Abi šie lauki ir obligāti, un ValidationError sniedz skaidru informāciju par trūkstošajiem laukiem.

Izmantojot elipsi (…)

Vēl viens veids, kā deklarēt lauku atbilstoši Pydantic prasībām, ir izmantot elipsi ( ). Šī ir precīza pieeja, ko nodrošina Pydantic, lai atzīmētu lauku pēc nepieciešamības.



no pidantisks imports Pamatmodelis

klasē Produkts ( Pamatmodelis ) :

nosaukums: str = ...

cena : peldēt = ...

apraksts : str = ...

Šajā piemērā visi lauki nosaukums, cena un apraksts ir definēti atbilstoši prasībām, izmantojot elipsi. Šī metode skaidri un redzami padara to, ka konkrētus laukus nevar izlaist, veidojot produktu klases gadījumu.

mēģināt :

produkta_dati = {

'vārds' : 'Mobilais telefons' ,

'apraksts' : 'Viedtālrunis ar 16 Gb RAM' ,

}

produkts = Produkts ( **produkta_dati )

izņemot ValueError Tas ir:

drukāt ( Tas ir )


Šajā piemērā trūkst cenas lauka, un ValidationError skaidri norāda trūkstošo obligāto lauku.

Lauka funkcijas izmantošana

Pydantic moduļa funkcija Field nodrošina papildu iespējas lauka validācijas un metadatu pielāgošanai. Varat izmantot funkciju Lauks, lai deklarētu obligātos laukus un lietotu papildu validācijas noteikumus.

Lūk, kā varat definēt obligātos laukus, izmantojot funkciju Lauks.

no pidantisks imports Pamatmodelis , Lauks

klasē Adrese ( Pamatmodelis ) :

iela: str = Lauks ( ... , apraksts = 'Ielas adrese' )

pilsēta: str = Lauks ( ... )

pasta indekss: str = Lauks ( ... )

Šajā piemērā mēs izmantojam funkciju Lauks, lai definētu obligātos laukus street, city un zip_code, kā arī papildu validācijas noteikumus un aprakstus. Elipse “…” norāda, ka šie lauki ir jādefinē kā obligātie lauki.

mēģināt :

adreses_dati = {

'iela' : 'Main Street 111' ,

'pasta indekss' : '123456'

}

adrese = Adrese ( **adreses_dati )

izņemot ValueError Tas ir:

drukāt ( Tas ir )

Šajā piemērā trūkst pilsētas lauka, un ValidationError sniedz informāciju par trūkstošo obligāto lauku.

Nepieciešamos laukus var apstiprināt, izmantojot citus Pydantic līdzekļus, piemēram, ierobežojumus un veidus. Piemēram, varat norādīt, ka nosaukuma laukam ir jābūt vismaz 5 rakstzīmju virknei. Varat izmantot lauku dekorētāju, lai pielāgotu obligāto lauku darbību. Piemēram, varat norādīt lauka noklusējuma vērtību vai ziņojumu, kas jāparāda, ja laukam nav piešķirta vērtība.

Vairāku metožu izmantošana, lai definētu nepieciešamos laukus vienā pidantiskā modelī

Varat izmantot vairākas metodes obligāto lauku definēšanai vienā Pydantic modelī. Piemēram, dažiem laukiem varat izmantot anotācijas, elipsi ( ) citiem un funkcija Field papildu pielāgošanai. Pydantic ļauj izvēlēties labāko pieeju koda organizēšanai un lasāmības preferencēm. Apsveriet šādu piemēru:

no pidantisks imports Pamatmodelis , Lauks

klasē Darbinieks ( Pamatmodelis ) :

nosaukums: str

nodaļa: str =

alga: peldēt = Lauks ( )

Šajā piemērā ir jāizmanto visi lauki. Mēs esam izmantojuši trīs dažādas metodes, lai definētu obligātos laukus. Nosaukuma laukā tiek izmantota anotācija, nodaļa izmanto elipsi, un alga izmanto funkciju Lauks.

Padomi par obligāto lauku izmantošanu

Lai izveidotu vienmērīgu un apkopjamu kodu, ir svarīgi ievērot dažas labas prakses, definējot obligātos laukus programmā Pydantic. Šie padomi palīdzēs definēt obligātos laukus programmā Pydantic:

  1. Izmantojiet skaidrus un aprakstošus lauku nosaukumus : izvēlieties jēgpilnus nosaukumus saviem laukiem, kas skaidri norāda to mērķi. Tas palīdz citiem izstrādātājiem uzzināt, kādi dati ir nepieciešami, un samazina iespēju, ka netiks aizpildīti obligātie lauki.
  2. Sniedziet informatīvus lauku aprakstus : izmantojot funkciju Lauks, lai definētu obligātos laukus, sniedziet aprakstošus aprakstus, kas izskaidro datu mērķi un paredzamo formātu.
  3. Ar grupu saistītie lauki : ja jūsu datu modelī ir daudz lauku, apsveriet iespēju grupēt saistītos laukus ligzdotās struktūrās. Tas var palīdzēt jūsu kodam būt lasāmākam un atvieglot obligāto lauku pārvaldību.
  4. Izmantojiet pielāgotus ziņojumus obligātajiem laukiem: Pēc noklusējuma Pydantic aktivizēs ValueError izņēmumu, ja obligātajam laukam netiks piešķirta vērtība. Varat pielāgot kļūdas ziņojumu, lauku dekorētājam norādot ziņojuma argumentu.

Secinājums

Pydantic pēc noklusējuma izveido laukus atbilstoši prasībām. Tomēr jūs varat skaidri definēt lauku kā obligātos laukus. Deklarējot laukus atbilstoši prasībām, jūs nodrošināsiet, ka jūsu datu modeļi ir precīzi, pilnīgi un saskaņoti ar jūsu prasībām. Šajā ziņojumā mēs apskatījām trīs atšķirīgas metodes, kā definēt obligātos laukus Pydantic, t.i., anotācijas, elipsi (…) un funkciju Field. Turklāt mēs apskatījām dažas ieteicamās prakses obligāto lauku lietošanai, lai jūs varētu efektīvi norādīt laukus savā datu modelī.