From 69a4504a3302b0afe7b716fa7a9349829d5fc930 Mon Sep 17 00:00:00 2001 From: Andrey Siunov Date: Fri, 28 Feb 2025 06:01:13 -0800 Subject: [PATCH] =?utf8?q?=F0=9F=90=9B=20Fix=20Pydantic=20version=20check?= =?utf8?q?=20for=20version=202.10.x=20onwards=20(#1255)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Co-authored-by: Sofie Van Landeghem --- sqlmodel/_compat.py | 3 ++- sqlmodel/main.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sqlmodel/_compat.py b/sqlmodel/_compat.py index 4e80cdc3..d6b98aac 100644 --- a/sqlmodel/_compat.py +++ b/sqlmodel/_compat.py @@ -25,7 +25,8 @@ from typing_extensions import Annotated, get_args, get_origin # Reassign variable to make it reexported for mypy PYDANTIC_VERSION = P_VERSION -IS_PYDANTIC_V2 = PYDANTIC_VERSION.startswith("2.") +PYDANTIC_MINOR_VERSION = tuple(int(i) for i in P_VERSION.split(".")[:2]) +IS_PYDANTIC_V2 = PYDANTIC_MINOR_VERSION[0] == 2 if TYPE_CHECKING: diff --git a/sqlmodel/main.py b/sqlmodel/main.py index 3532e81a..61952be2 100644 --- a/sqlmodel/main.py +++ b/sqlmodel/main.py @@ -56,7 +56,7 @@ from typing_extensions import Literal, TypeAlias, deprecated, get_origin from ._compat import ( # type: ignore[attr-defined] IS_PYDANTIC_V2, - PYDANTIC_VERSION, + PYDANTIC_MINOR_VERSION, BaseConfig, ModelField, ModelMetaclass, @@ -874,7 +874,7 @@ class SQLModel(BaseModel, metaclass=SQLModelMetaclass, registry=default_registry warnings: Union[bool, Literal["none", "warn", "error"]] = True, serialize_as_any: bool = False, ) -> Dict[str, Any]: - if PYDANTIC_VERSION >= "2.7.0": + if PYDANTIC_MINOR_VERSION >= (2, 7): extra_kwargs: Dict[str, Any] = { "context": context, "serialize_as_any": serialize_as_any, -- 2.47.2