From 1787a57a9b08d280e15e94033ee3180478d0bb3b Mon Sep 17 00:00:00 2001 From: Yurii Motov Date: Fri, 20 Feb 2026 23:46:04 +0100 Subject: [PATCH] Skip tests for exclude_if for Pydantic less than 2.12 --- tests/test_pydantic/test_field.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/test_pydantic/test_field.py b/tests/test_pydantic/test_field.py index ff83ff248..2fcdc0d26 100644 --- a/tests/test_pydantic/test_field.py +++ b/tests/test_pydantic/test_field.py @@ -4,6 +4,7 @@ from typing import Any, Literal import pytest from pydantic import ValidationError from sqlmodel import Field, Session, SQLModel, create_engine +from sqlmodel._compat import PYDANTIC_MINOR_VERSION def test_decimal(): @@ -177,6 +178,10 @@ def test_deprecated_via_schema_extra(): # Current workaround. Remove after some assert model_schema["properties"]["another_old_field"]["deprecated"] is True +@pytest.mark.skipif( + PYDANTIC_MINOR_VERSION < (2, 12), + reason="exlude_if requires Pydantic 2.12+", +) def test_exclude_if(): def is_empty_string(value: Any) -> bool: return value == "" @@ -197,6 +202,10 @@ def test_exclude_if(): assert "name" not in dict2 +@pytest.mark.skipif( + PYDANTIC_MINOR_VERSION < (2, 12), + reason="exlude_if requires Pydantic 2.12+", +) def test_exclude_if_via_schema_extra(): def is_empty_string(value: Any) -> bool: return value == ""