Kuidas Pydanticus nõutavaid välju määratleda

Kuidas Pydanticus Noutavaid Valju Maaratleda



Kohustuslik väli on väli, mis peab andmemudelis olemas olema. Need väljad on olulised ja neid ei saa tühjaks jätta, kuna need on vajalikud nõuetekohaseks toimimiseks või protsessi lõpuleviimiseks. Kui nõutavale väljale väärtust ei anta, tekitab Pydantic ValueErrori erandi. Väljasid saab kohustuslike väljadena määratleda mitmel viisil. Kuid Pydantic määrab kõik andmemudeli väljad vaikimisi 'nõutavaks'. See artikkel näitab, kuidas Pydanticus kohustuslikke välju määratleda. Samuti käsitleme mõningaid häid näpunäiteid kohustuslike väljade kasutamiseks.

Kohustuslike väljade kasutamise eelised

Pydanticus nõutavate väljade kasutamisel on mitmeid eeliseid.

  • Andmete täielikkuse tagamine: Kohustuslikud väljad aitavad meil tagada, et meie andmemudelid on täielikud ja kehtivad. See võib aidata vältida vigu teie koodis ja andmetöötluses.
  • Pahatahtliku sisendi vältimine: Kohustuslikke välju saab kasutada ka selleks, et pahatahtlikud kasutajad teie süsteemi kehtetuid andmeid ei süstiks.
  • Koodi loetavamaks muutmine: Kohustuslike väljade abil saate parandada koodi loetavust ja arusaamist.

Kuidas Pydanticus nõutavaid välju määratleda

Pydanticus on välja kohustuslikuks väljaks määratlemiseks kolm meetodit. Uurime igaüks neist üksikasjalikult.







Märkuste kasutamine

Lihtsaim viis Pydanticus nõutava välja määratlemiseks on annotatsioonide kasutamine. Kasutades märkusi, teatud tüüpi süntaktilisi metaandmeid, saate lisada klasside muutujate ja atribuutide kohta rohkem üksikasju. Pydanticus kasutatakse märkusi välja eeldatava andmetüübi näitamiseks ja vaikimisi loetakse kõik märkustega väljad kohustuslikuks, kuni muudate välja või väljad valikuliseks.



alates püdantlik importida Põhimudel

klass Isik ( Põhimudel ) :

täisnimi: str

kõrgus: ujuk

email : str

Selles näites on täisnimi, pikkus ja e-post kõik kohustuslikud väljad. Kui loote klassi Isik eksemplari ilma nendele väljadele väärtusi andmata, kuvab Pydantic ValidationError, mis näitab, et nõutud väljad puuduvad.



proovi :

isiku_andmed = {

'kõrgus' : 5.8 ,

}

inimene = Isik ( **isiku_andmed )

välja arvatud ValueError nagu See on:

printida ( see on )





Selles näites puudub väli full_name ja ka kõrguse väli. Mõlemad väljad on kohustuslikud ja ValidationError annab puuduvate väljade kohta selget teavet.

Ellipsi kasutamine (…)

Teine viis välja deklareerimiseks Pydanticus on kasutada ellipsit ( ). See on Pydanticu pakutav selge lähenemisviis välja märgistamiseks vastavalt vajadusele.



alates püdantlik importida Põhimudel

klass Toode ( Põhimudel ) :

nimi: str = ...

hind : ujuk = ...

kirjeldus : str = ...

Selles näites on väljad nimi, hind ja kirjeldus kõik ellipsi abil nõutavad. See meetod teeb selgeks ja nähtavaks, et tooteklassi eksemplari loomisel ei saa teatud välju vahele jätta.

proovi :

toote_andmed = {

'nimi' : 'Mobiiltelefon' ,

'kirjeldus' : '16 Gb RAM-iga nutitelefon' ,

}

toode = Toode ( **toote_andmed )

välja arvatud ValueError nagu See on:

printida ( see on )


Selles näites puudub hinnaväli ja ValidationError näitab selgelt puuduvat kohustuslikku välja.

Väljafunktsiooni kasutamine

Pydanticu mooduli funktsioon Field pakub täiendavaid võimalusi välja valideerimise ja metaandmete kohandamiseks. Funktsiooni Väli saate kasutada nõutud väljade deklareerimiseks ja täiendavate valideerimisreeglite rakendamiseks.

Funktsiooni Field abil saate kohustuslikke välju määratleda järgmiselt.

alates püdantlik importida Põhimudel , Väli

klass Aadress ( Põhimudel ) :

tänav: str = Väli ( ... , kirjeldus = 'Tänava aadress' )

linn: str = Väli ( ... )

postiindeks: str = Väli ( ... )

Selles näites kasutame funktsiooni Field, et määratleda kohustuslikud väljad street, city ja zip_code koos täiendavate valideerimisreeglite ja kirjeldustega. Ellips “…” näitab, et need väljad tuleb määratleda kohustuslike väljadena.

proovi :

aadressi_andmed = {

'tänav' : 'Peatänav 111' ,

'postiindeks' : '123456'

}

aadress = Aadress ( **aadressi_andmed )

välja arvatud ValueError nagu See on:

printida ( see on )

Selles näites puudub linna väli ja ValidationError annab teavet puuduva kohustusliku välja kohta.

Nõutavaid välju saab kinnitada muude Pydantic funktsioonide, näiteks piirangute ja tüüpide abil. Näiteks võite määrata, et nimeväli peab koosnema vähemalt 5 tähemärgist koosnev string. Nõutavate väljade käitumise kohandamiseks saate kasutada väljade dekoraatorit. Näiteks võite määrata väljale vaikeväärtuse või kuvatava teate, kui väljale väärtust ei anta.

Mitme meetodi kasutamine nõutavate väljade määratlemiseks ühes püdantilises mudelis

Saate ühes Pydanticu mudelis kasutada nõutavate väljade määratlemiseks mitut meetodit. Näiteks võite mõne välja jaoks kasutada märkusi, ellipsit ( ) teistele ja funktsioon Field täiendavaks kohandamiseks. Pydantic võimaldab teil valida oma koodikorralduse ja loetavuse eelistuste jaoks parima lähenemisviisi. Kaaluge järgmist näidet:

alates püdantlik importida Põhimudel , Väli

klass Töötaja ( Põhimudel ) :

nimi: str

osakond: str =

palk: ujuk = Väli ( )

Selles näites tuleb kasutada kõiki välju. Oleme nõutavate väljade määratlemiseks kasutanud kolme erinevat meetodit. Nimeväli kasutab annotatsiooni, osakond ellipsit ja palk funktsiooni Väli.

Nõuanded kohustuslike väljade kasutamiseks

Sujuva ja hooldatava koodi loomiseks on oluline järgida Pydanticus nõutavate väljade määratlemisel häid tavasid. Järgmised näpunäited aitavad teil Pydanticus nõutavaid välju määratleda.

  1. Kasutage selgeid ja kirjeldavaid väljanimesid : valige oma väljadele tähendusrikkad nimed, mis näitavad selgelt nende eesmärki. See aitab teistel arendajatel teada, milliseid andmeid on vaja, ja vähendab võimalust, et kohustuslikud väljad puuduvad.
  2. Esitage informatiivsed väljade kirjeldused : Kui kasutate kohustuslike väljade määratlemiseks funktsiooni Field, esitage kirjeldavad kirjeldused, mis selgitavad andmete eesmärki ja eeldatavat vormingut.
  3. Grupiga seotud väljad : kui teie andmemudelil on palju välju, kaaluge seotud väljade rühmitamist pesastatud struktuurideks. See võib muuta teie koodi loetavamaks ja hõlbustada kohustuslike väljade haldamist.
  4. Kasutage kohustuslike väljade jaoks kohandatud sõnumeid: Vaikimisi tõstatab Pydantic ValueErrori erandi, kui nõutavale väljale väärtust ei anta. Saate tõrketeadet kohandada, määrates väljakujundajale sõnumi argumendi.

Järeldus

Vaikimisi muudab Pydantic väljad vastavalt vajadusele. Siiski saate välja selgesõnaliselt määratleda kohustuslike väljadena. Nõutavate väljade deklareerimisega tagate, et teie andmemudelid on täpsed, täielikud ja teie vajadustega vastavuses. Selles postituses käsitlesime kolme erinevat meetodit Pydanticus nõutavate väljade määratlemiseks, st annotatsioone, ellipsit (…) ja funktsiooni Field. Lisaks vaatasime mõningaid soovituslikke tavasid kohustuslike väljade kasutamiseks, et saaksite andmemudelis välju tõhusalt määrata.