From ccb9022d8400e3eef2ef7fc1bc1fc6f1b1b2720c Mon Sep 17 00:00:00 2001 From: Russ Bubley Date: Mon, 8 Jan 2024 16:24:53 +0000 Subject: [PATCH 1/2] Expose pydantic's Field(validation_alias=...) parameter --- sqlmodel/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sqlmodel/main.py b/sqlmodel/main.py index 10064c7116..b68ba02785 100644 --- a/sqlmodel/main.py +++ b/sqlmodel/main.py @@ -269,6 +269,7 @@ def Field( *, default_factory: Optional[NoArgAnyCallable] = None, alias: Optional[str] = None, + validation_alias: Optional[str] = None, title: Optional[str] = None, description: Optional[str] = None, exclude: Union[ @@ -310,6 +311,7 @@ def Field( default, default_factory=default_factory, alias=alias, + validation_alias=validation_alias, title=title, description=description, exclude=exclude, From 819795e35fd749103bd96f7dfb131393770dd325 Mon Sep 17 00:00:00 2001 From: Russ Bubley Date: Mon, 8 Jan 2024 17:14:39 +0000 Subject: [PATCH 2/2] Pydantic V1 compatibility. --- sqlmodel/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sqlmodel/main.py b/sqlmodel/main.py index b68ba02785..910b0ce656 100644 --- a/sqlmodel/main.py +++ b/sqlmodel/main.py @@ -143,6 +143,8 @@ def __init__(self, default: Any = Undefined, **kwargs: Any) -> None: raise RuntimeError( "Passing sa_type is not supported when also passing a sa_column" ) + if not hasattr(PydanticFieldInfo, "validation_alias"): + kwargs.pop("validation_alias") super().__init__(default=default, **kwargs) self.primary_key = primary_key self.nullable = nullable