- Validierung < /li>
Serialisierung zum JSON -Schema. Definieren Sie meinen benutzerdefinierten Typ filepathpattern filepath nach einem Muster , das bei Verwendung des benutzerdefinierten Typs :
definiert istExpected outcomeCode: Select all
from typing import Annotated from pydantic import Field, FilePath def get_pattern( field_data: dict[str, str] ) -> dict[str, str]: return {"pattern", field_data["pattern"]} FilePathPattern = Annotated[ FilePath, Field(json_schema_extra=get_pattern), ] class MySchema(BaseModel): """My schema.""" path_with_suffix: FilePathPattern = Field( title="Path to CSV or TXT", description="something", default="my_data.csv", pattern=r".*\.(csv|txt)$", ) another_path: FilePathPattern = Field( pattern="some_pattern", )
Which should
Use the validators provided by the base type FilePath to check for existence - extend the validation by matching the regex pattern with STR (pATH_WITH_SUFFIX)
- Serialisieren Sie das Modell zu einem JSON -Schema mit mySchema.model_json_schema () mit dem zusätzlichen Schlüsselmuster (das auch im JSON -SCHMA -Standard enthalten ist): scheint kein Muster zu enthalten , selbst wenn im Feld der abgeleitete benutzerdefinierte Typ filepathpattern
Code: Select all
{ ... "properties": { "path_with_suffix": { "default": "my_data.csv", "description": "something", "format": "file-path", "pattern": ".*/struct.dat", "title": "Path to CSV or TXT" }, "another_path": {...} }, "title": "...", "type": "object" } < /code> < /li> < /ul> Problem < /h2> Unglücklicherweise funktioniert das nicht, da < /p> FilePath
- das Muster explizit in json_schema_extra = {"Muster": r ". Geben Sie
- mit withjsonschema im kommentierten dazu hin, alle anderen Schema -Schlüsselwörter wie Format
Erweitern Sie den bestehenden pydantischen Typ ⇐ Python
Erweitern Sie den bestehenden pydantischen Typ
Ich möchte vorhandene pydantische Typen wie Filepath von F.I. Hinzufügen eines Dateitypmusters < /code> für < /p>
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Stellen Sie den Anfangswert eines pydantischen 2 -Feldes mit Validator fest
by Anonymous » » in Python - 0 Replies
- 12 Views
-
Last post by Anonymous
-