From 0d40db2d7db1fd38c7fb3935eb65152ea056ceba 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 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: