Jak definovat požadovaná pole v Pydantic

Jak Definovat Pozadovana Pole V Pydantic



Povinné pole je pole, které musí být přítomno v datovém modelu. Tato pole jsou nezbytná a nelze je ponechat prázdná, protože jsou potřebná pro správné fungování nebo dokončení procesu. Pokud povinnému poli není zadána hodnota, Pydantic vyvolá výjimku ValueError. Pole lze definovat jako povinná pole různými způsoby. Pydantic však ve výchozím nastavení nastavuje všechna pole datového modelu jako „povinná“. Tento článek ukáže, jak definovat požadovaná pole v Pydantic. Probereme také několik dobrých tipů pro používání povinných polí.

Výhody použití povinných polí

Používání požadovaných polí v Pydantic má několik výhod.

  • Zajištění úplnosti dat: Povinná pole nám pomáhají zajistit, aby naše datové modely byly úplné a platné. To může pomoci předejít chybám ve vašem kódu a zpracování dat.
  • Prevence škodlivého vstupu: Povinná pole lze také použít k zabránění uživatelům se zlými úmysly ve vkládání neplatných dat do vašeho systému.
  • Aby byl kód čitelnější: Pomocí povinných polí můžete zlepšit čitelnost a srozumitelnost kódu.

Jak definovat požadovaná pole v Pydantic

V Pydantic existují tři způsoby, jak definovat pole jako povinné pole. Prozkoumejme každou z nich podrobně.







Použití anotací

Nejjednodušší způsob, jak definovat požadované pole v Pydantic, je pomocí anotací. Pomocí anotací, což je typ syntaktických metadat, můžete přidat další podrobnosti o proměnných a atributech tříd. V Pydantic se poznámky používají k označení očekávaného datového typu pole a ve výchozím nastavení jsou všechna pole s poznámkami považována za povinná, dokud pole nebo pole nenastavíte jako volitelná.



z pydantický import Základní Model

třída Osoba ( Základní Model ) :

celé jméno: str

výška: plovák

e-mailem : str

V tomto příkladu jsou povinná pole full_name, height a email. Pokud vytvoříte instanci třídy Person, aniž byste zadali hodnoty pro tato pole, Pydantic vyvolá chybu ValidationError označující, že chybí požadovaná pole.



Snaž se :

osobní_údaje = {

'výška' : 5.8 ,

}

osoba = Osoba ( **osobní_údaje )

až na ValueError tak jako To je:

tisk ( to je )





V tomto příkladu chybí pole full_name a chybí také pole výška. Obě tato pole jsou povinná a chyba ValidationError poskytuje jasné informace o chybějících polích.

Použití elipsy (…)

Dalším způsobem, jak deklarovat pole požadované v Pydantic, je použití elipsy ( ). Toto je explicitní přístup poskytovaný společností Pydantic k označení pole jako požadovaného.



z pydantický import Základní Model

třída Produkt ( Základní Model ) :

název: str = ...

cena : plovák = ...

popis : str = ...

V tomto příkladu jsou pole název, cena a popis definována podle potřeby pomocí tří teček. Díky této metodě je explicitní a viditelné, že konkrétní pole nelze při vytváření instance třídy Product přeskočit.

Snaž se :

produktová_data = {

'název' : 'Mobilní telefon' ,

'popis' : 'Chytrý telefon s 16 GB RAM' ,

}

produkt = Produkt ( **data_produktu )

až na ValueError tak jako To je:

tisk ( to je )


V tomto příkladu chybí pole ceny a chyba ValidationError jasně označuje chybějící povinné pole.

Použití funkce pole

Funkce Field z modulu Pydantic poskytuje další možnosti pro přizpůsobení ověřování pole a metadat. Pomocí funkce Field můžete deklarovat požadovaná pole a použít další ověřovací pravidla.

Zde je návod, jak můžete definovat požadovaná pole pomocí funkce Pole:

z pydantický import Základní Model , Pole

třída Adresa ( Základní Model ) :

ulice: str = Pole ( ... , popis = 'Adresa ulice' )

město: str = Pole ( ... )

PSČ: str = Pole ( ... )

V tomto příkladu používáme funkci Field k definování povinných polí ulice, město a PSČ spolu s dalšími ověřovacími pravidly a popisy. Tři tečky „…“ značí, že tato pole musí být definována jako povinná pole.

Snaž se :

adresa_data = {

'ulice' : 'Hlavní ulice 111' ,

'PSČ' : '123456'

}

adresa = Adresa ( **data_adresy )

až na ValueError tak jako To je:

tisk ( to je )

V tomto příkladu chybí pole města a ValidationError poskytuje informace o chybějícím povinném poli.

Povinná pole lze ověřit pomocí dalších funkcí Pydantic, jako jsou omezení a typy. Můžete například zadat, že pole názvu musí být řetězec o délce alespoň 5 znaků. Pomocí Dekorátoru polí můžete přizpůsobit chování požadovaných polí. Můžete například zadat výchozí hodnotu pro pole nebo zprávu, která se zobrazí, pokud pole nemá hodnotu.

Použití více metod k definování požadovaných polí v jediném pydantickém modelu

V rámci jednoho pydantického modelu můžete použít více metod definování požadovaných polí. Můžete například použít anotace pro některá pole, elipsy ( ) pro ostatní a funkce Field pro další přizpůsobení. Pydantic vám umožňuje zvolit nejlepší přístup pro vaši organizaci kódu a preference čitelnosti. Zvažte následující příklad:

z pydantický import Základní Model , Pole

třída Zaměstnanec ( Základní Model ) :

název: str

oddělení: str =

plat: plovák = Pole ( )

V tomto příkladu je nutné použít všechna pole. K definování požadovaných polí jsme použili tři různé metody. Pole názvu používá anotaci, oddělení používá tři tečky a plat používá funkci Pole.

Tipy pro používání povinných polí

Pro vytvoření hladkého a udržovatelného kódu je nezbytné dodržovat některé osvědčené postupy při definování povinných polí v Pydantic. Následující tipy vám pomohou definovat požadovaná pole v Pydanticu:

  1. Použijte jasné a popisné názvy polí : Vyberte pro svá pole smysluplné názvy, které jasně označují jejich účel. To pomáhá ostatním vývojářům vědět, jaká data jsou potřebná, a snižuje pravděpodobnost, že budou chybět požadovaná pole.
  2. Poskytněte informativní popis polí : Při použití funkce Field k definování povinných polí poskytněte popisné popisy, které vysvětlují účel a očekávaný formát dat.
  3. Pole související se skupinou : Pokud má váš datový model velký počet polí, zvažte seskupení souvisejících polí do vnořených struktur. To může pomoci vašemu kódu být čitelnější a usnadnit správu povinných polí.
  4. Použít vlastní zprávy pro povinná pole: Ve výchozím nastavení Pydantic vyvolá výjimku ValueError, pokud požadovanému poli není zadána hodnota. Chybovou zprávu můžete přizpůsobit zadáním argumentu zprávy pro dekorátor pole.

Závěr

Pydantic ve výchozím nastavení vytváří pole podle potřeby. Pole však můžete explicitně definovat jako povinná pole. Deklarováním polí jako povinných zajistíte, že vaše datové modely jsou přesné, úplné a v souladu s vašimi požadavky. V tomto příspěvku jsme pokryli tři různé metody pro definování požadovaných polí v Pydantic, tj. anotace, elipsy (…) a funkce Field. Kromě toho jsme se podívali na některé doporučené postupy pro používání povinných polí, abyste mohli efektivně specifikovat pole ve svém datovém modelu.