So definieren Sie erforderliche Felder in Pydantic

So Definieren Sie Erforderliche Felder In Pydantic



Ein erforderliches Feld ist ein Feld, das im Datenmodell vorhanden sein muss. Diese Felder sind wichtig und dürfen nicht leer gelassen werden, da sie für die ordnungsgemäße Funktion oder den Abschluss eines Prozesses erforderlich sind. Wenn einem erforderlichen Feld kein Wert zugewiesen wird, löst Pydantic eine ValueError-Ausnahme aus. Felder können auf verschiedene Arten als Pflichtfelder definiert werden. Allerdings setzt Pydantic alle Datenmodellfelder standardmäßig auf „erforderlich“. In diesem Artikel wird gezeigt, wie erforderliche Felder in Pydantic definiert werden. Außerdem besprechen wir einige gute Tipps zur Verwendung der Pflichtfelder.

Vorteile der Verwendung von Pflichtfeldern

Die Verwendung der erforderlichen Felder in Pydantic bietet mehrere Vorteile.

  • Sicherstellung der Datenvollständigkeit: Erforderliche Felder helfen uns sicherzustellen, dass unsere Datenmodelle vollständig und gültig sind. Dies kann dazu beitragen, Fehler in Ihrem Code und Ihrer Datenverarbeitung zu vermeiden.
  • Böswillige Eingaben verhindern: Erforderliche Felder können auch verwendet werden, um zu verhindern, dass böswillige Benutzer ungültige Daten in Ihr System einschleusen.
  • Code besser lesbar machen: Sie können die Lesbarkeit und das Verständnis Ihres Codes verbessern, indem Sie die erforderlichen Felder verwenden.

So definieren Sie erforderliche Felder in Pydantic

In Pydantic gibt es drei Methoden zum Definieren eines Felds als Pflichtfeld. Lassen Sie uns jeden einzelnen davon im Detail untersuchen.







Anmerkungen verwenden

Der einfachste Weg, ein erforderliches Feld in Pydantic zu definieren, ist die Verwendung von Anmerkungen. Mithilfe von Annotationen, einer Art syntaktischer Metadaten, können Sie weitere Details zu Variablen und Attributen von Klassen hinzufügen. In Pydantic werden Annotationen verwendet, um den erwarteten Datentyp eines Felds anzugeben. Standardmäßig werden alle annotierten Felder als erforderlich betrachtet, bis Sie ein oder mehrere Felder optional machen.



aus pydantisch importieren Basismodell

Klasse Person ( Basismodell ) :

vollständiger Name: str

Höhe: schweben

Email : str

In diesem Beispiel sind „full_name“, „height“ und „email“ alles Pflichtfelder. Wenn Sie eine Instanz der Person-Klasse erstellen, ohne Werte für diese Felder bereitzustellen, löst Pydantic einen ValidationError aus, der darauf hinweist, dass die erforderlichen Felder fehlen.



versuchen :

person_data = {

'Höhe' : 5.8 ,

}

Person = Person ( **Personendaten )

außer Wertfehler als Es ist:

drucken ( Es ist )





In diesem Beispiel fehlt das Feld „full_name“ und auch das Feld „height“. Beide Felder sind erforderlich und der ValidationError liefert klare Informationen über die fehlenden Felder.

Verwenden von Ellipsen (…)

Eine andere Möglichkeit, ein Feld in Pydantic als erforderlich zu deklarieren, ist die Verwendung der Auslassungspunkte ( ). Dies ist ein expliziter Ansatz von Pydantic, um ein Feld als erforderlich zu markieren.



aus pydantisch importieren Basismodell

Klasse Produkt ( Basismodell ) :

Name: str = ...

Preis : schweben = ...

Beschreibung : str = ...

In diesem Beispiel werden die Felder Name, Preis und Beschreibung alle nach Bedarf mithilfe der Auslassungspunkte definiert. Diese Methode macht explizit und sichtbar, dass bestimmte Felder beim Erstellen einer Instanz der Produktklasse nicht übersprungen werden können.

versuchen :

Produktdaten = {

'Name' : 'Mobiltelefon' ,

'Beschreibung' : „Smartphone mit 16 GB RAM“ ,

}

Produkt = Produkt ( **Produktdaten )

außer Wertfehler als Es ist:

drucken ( Es ist )


In diesem Beispiel fehlt das Preisfeld und der ValidationError weist eindeutig auf das fehlende Pflichtfeld hin.

Verwenden der Feldfunktion

Die Field-Funktion aus dem Pydantic-Modul bietet zusätzliche Funktionen zum Anpassen der Feldvalidierung und Metadaten. Mit der Field-Funktion können Sie Pflichtfelder deklarieren und zusätzliche Validierungsregeln anwenden.

So können Sie erforderliche Felder mithilfe der Feldfunktion definieren:

aus pydantisch importieren Basismodell , Feld

Klasse Adresse ( Basismodell ) :

Straße: str = Feld ( ... , Beschreibung = 'Straßenadresse' )

Stadt: str = Feld ( ... )

PLZ: str = Feld ( ... )

In diesem Beispiel verwenden wir die Funktion „Field“, um die erforderlichen Felder „Street“, „City“ und „Postleitzahl“ sowie zusätzliche Validierungsregeln und Beschreibungen zu definieren. Die Auslassungspunkte „…“ geben an, dass diese Felder als Pflichtfelder definiert werden müssen.

versuchen :

Adressdaten = {

'Straße' : „Hauptstraße 111“ ,

'PLZ' : „123456“

}

Adresse = Adresse ( **Adressdaten )

außer Wertfehler als Es ist:

drucken ( Es ist )

In diesem Beispiel fehlt das Stadtfeld und der ValidationError stellt Informationen über das fehlende Pflichtfeld bereit.

Erforderliche Felder können mithilfe anderer Pydantic-Funktionen wie Einschränkungen und Typen validiert werden. Sie können beispielsweise festlegen, dass ein Namensfeld eine Zeichenfolge mit mindestens fünf Zeichen sein muss. Mit dem Field Decorator können Sie das Verhalten erforderlicher Felder anpassen. Sie könnten beispielsweise einen Standardwert für das Feld oder eine Meldung angeben, die angezeigt werden soll, wenn dem Feld kein Wert zugewiesen wird.

Verwenden mehrerer Methoden zum Definieren erforderlicher Felder in einem einzelnen Pydantic-Modell

Sie können mehrere Methoden zum Definieren erforderlicher Felder innerhalb eines einzigen Pydantic-Modells verwenden. Beispielsweise können Sie für einige Felder Anmerkungen verwenden, Auslassungspunkte ( ) für andere und die Feldfunktion für zusätzliche Anpassungen. Mit Pydantic können Sie den besten Ansatz für Ihre Code-Organisation und Lesbarkeitspräferenzen wählen. Betrachten Sie das folgende Beispiel:

aus pydantisch importieren Basismodell , Feld

Klasse Mitarbeiter ( Basismodell ) :

Name: str

Abteilung: str =

Gehalt: schweben = Feld ( )

In diesem Beispiel müssen alle Felder verwendet werden. Wir haben drei verschiedene Methoden verwendet, um die erforderlichen Felder zu definieren. Das Namensfeld verwendet die Anmerkung, die Abteilung verwendet die Auslassungspunkte und das Gehalt verwendet die Feldfunktion.

Tipps zur Verwendung von Pflichtfeldern

Das Befolgen einiger bewährter Vorgehensweisen beim Definieren der erforderlichen Felder in Pydantic ist wichtig, um reibungslosen und wartbaren Code zu erstellen. Die folgenden Tipps helfen Ihnen bei der Definition der erforderlichen Felder in Pydantic:

  1. Verwenden Sie klare und beschreibende Feldnamen : Wählen Sie aussagekräftige Namen für Ihre Felder, die ihren Zweck klar erkennen lassen. Dies hilft anderen Entwicklern zu erkennen, welche Daten benötigt werden, und verringert die Wahrscheinlichkeit, dass erforderliche Felder übersehen werden.
  2. Geben Sie informative Feldbeschreibungen an : Wenn Sie die Feldfunktion zum Definieren erforderlicher Felder verwenden, geben Sie beschreibende Beschreibungen an, die den Zweck und das erwartete Format der Daten erläutern.
  3. Gruppieren Sie verwandte Felder : Wenn Ihr Datenmodell über eine große Anzahl von Feldern verfügt, sollten Sie in Betracht ziehen, verwandte Felder in verschachtelten Strukturen zu gruppieren. Dies kann dazu beitragen, dass Ihr Code besser lesbar ist und die Verwaltung erforderlicher Felder einfacher wird.
  4. Verwenden Sie benutzerdefinierte Nachrichten für erforderliche Felder: Standardmäßig löst Pydantic eine ValueError-Ausnahme aus, wenn einem erforderlichen Feld kein Wert zugewiesen wird. Sie können die Fehlermeldung anpassen, indem Sie das Nachrichtenargument für den Felddekorator angeben.

Abschluss

Pydantic erstellt die Felder standardmäßig nach Bedarf. Sie können das Feld jedoch explizit als Pflichtfelder definieren. Indem Sie Felder als erforderlich deklarieren, stellen Sie sicher, dass Ihre Datenmodelle korrekt, vollständig und auf Ihre Anforderungen abgestimmt sind. In diesem Beitrag haben wir drei verschiedene Methoden zum Definieren der erforderlichen Felder in Pydantic behandelt, nämlich Anmerkungen, die Auslassungspunkte (…) und die Feldfunktion. Darüber hinaus haben wir uns einige empfohlene Vorgehensweisen für die Verwendung erforderlicher Felder angesehen, damit Sie Felder in Ihrem Datenmodell effektiv angeben können.