diff --git a/fastapi/_compat.py b/fastapi/_compat.py index d07bde80d..3e0574682 100644 --- a/fastapi/_compat.py +++ b/fastapi/_compat.py @@ -21,7 +21,7 @@ from typing import ( from fastapi.exceptions import RequestErrorModel from fastapi.types import IncEx, ModelNameMap, UnionType -from pydantic import BaseModel, PydanticDeprecatedSince20, create_model, v1 +from pydantic import BaseModel, create_model from pydantic.version import VERSION as PYDANTIC_VERSION from starlette.datastructures import UploadFile from typing_extensions import Annotated, Literal, get_args, get_origin @@ -108,6 +108,7 @@ if PYDANTIC_V2: return self.field_info.annotation def __post_init__(self) -> None: + from pydantic import PydanticDeprecatedSince20 try: self._type_adapter: TypeAdapter[Any] = TypeAdapter( Annotated[self.field_info.annotation, self.field_info] @@ -138,6 +139,7 @@ if PYDANTIC_V2: ) except AttributeError: # pydantic v1 + from pydantic import v1 try: return v1.parse_obj_as(self.type_, value), None except v1.ValidationError as exc: