Skip to main content

Einführung

  • Dieser Artikel führt dich durch die Datenvalidierung mit Pydantic. Pydantic ist eine in Rust geschriebene Python-Bibliothek.
  • Bevor wir beginnen, stelle sicher, dass Python und die Pydantic-Bibliothek in deiner Umgebung installiert sind. Sieh dir den Installationsbefehl für Pydantic unten an.

Ein Modell erstellen

  • Zuerst müssen wir es importieren und unsere Klasse von pydantic.BaseModel erben lassen, um mit der Validierung zu beginnen. In unserem Beispiel erstellen wir eine Klasse namens Person, die einen Namen, ein Alter und eine E-Mail-Adresse hat.
  • Wenn wir diese Klasse instanziieren, validiert Pydantic, ob die Parameter name und email Strings sind und age eine Ganzzahl ist.

Das Modell verwenden

  • Nachdem wir es nun erstellt haben, instanziieren wir die Klasse. Wir erstellen ein Dict mit den Daten und entpacken es in unsere Klasse.
  • Das obige Beispiel löst keinen Fehler aus, da alle Parameter den korrekten Typ haben. Nun erstellen wir fehlerhafte Daten, um zu bestätigen, dass unsere Validierung funktioniert.
  • Im obigen Beispiel wird der Fehler ValidationError ausgelöst, da age eine Ganzzahl sein muss und nicht als String angegeben werden kann.

Eine dataclass erstellen

  • Mit Pydantic kannst du auch dataclasses erstellen, die den Standard-dataclasses von Python ähneln, aber Validierungen wie BaseModel besitzen.
  • Wenn wir einen string an age senden, wird er in int konvertiert.
Pydantic unterstützt rekursive Validierung, was bedeutet, dass bei der Validierung verschachtelter Modelle auch die inneren Modelle validiert werden.Wenn eine Klasse eine Liste von Person besitzt, people: list[Person], prüft Pydantic jedes Element der Liste und konvertiert es in eine Person.

Extras

  • Pydantic verfügt über einige Extras wie E-Mail-Validierungen und ein Fallback-Zeitzonen-Paket. Um sie zu installieren, musst du die folgenden Befehle ausführen:
  • Du kannst beide gemeinsam installieren, indem du den folgenden Befehl ausführst.
  • Pydantic[email] bringt eine Klasse zur Verarbeitung von E-Mails mit, die sie normalisiert und das Format user@domain.tld validiert. Dafür stellt Pydantic die Klasse EmailStr bereit, um diese Validierung durchzuführen.

Hat Ihnen dieser Artikel gefallen?

  • Wir haben diesen Inhalt mit großer Sorgfalt erstellt, um Ihnen die bestmögliche Hilfe zu bieten. Wenn Ihnen dieser Artikel in irgendeiner Weise geholfen hat, unterstützen Sie unsere Arbeit! Entwickler haben Square Cloud bereits mit 4,9/5 bei 402 Bewertungen auf Google und Trustpilot bewertet — hinterlassen Sie auch Ihre! Sie hilft uns zu verstehen, was Ihnen am wichtigsten ist.

Google Reviews

Hinterlassen Sie Ihre Bewertung bei Google Reviews.

Trustpilot

Hinterlassen Sie Ihre Bewertung bei Trustpilot.