From 9fda7849e18c439f1d29f635d69e6af33debdc5a Mon Sep 17 00:00:00 2001 From: chbndrhnns Date: Fri, 8 Sep 2023 17:45:05 +0200 Subject: [PATCH] Inline imports which only exist in v2 --- fastapi/_compat.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fastapi/_compat.py b/fastapi/_compat.py index daa8abbfa..64200c685 100644 --- a/fastapi/_compat.py +++ b/fastapi/_compat.py @@ -19,7 +19,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 @@ -97,6 +97,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] @@ -127,6 +128,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: