This commit is contained in:
Sam Mosleh 2025-12-16 21:07:31 +00:00 committed by GitHub
commit ed729dd905
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,4 @@
import os
from enum import Enum from enum import Enum
from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
@ -55,9 +56,12 @@ except ImportError: # pragma: no cover
return with_info_plain_validator_function(cls._validate) return with_info_plain_validator_function(cls._validate)
_FASTAPI_OPENAPI_DEFER_BUILD = "FASTAPI_OPENAPI_DEFER_BUILD" in os.environ
class BaseModelWithConfig(BaseModel): class BaseModelWithConfig(BaseModel):
if PYDANTIC_V2: if PYDANTIC_V2:
model_config = {"extra": "allow"} model_config = {"extra": "allow", "defer_build": _FASTAPI_OPENAPI_DEFER_BUILD}
else: else:
@ -226,7 +230,10 @@ class Example(TypedDict, total=False):
externalValue: Optional[AnyUrl] externalValue: Optional[AnyUrl]
if PYDANTIC_V2: # type: ignore [misc] if PYDANTIC_V2: # type: ignore [misc]
__pydantic_config__ = {"extra": "allow"} __pydantic_config__ = {
"extra": "allow",
"defer_build": _FASTAPI_OPENAPI_DEFER_BUILD,
}
else: else: