import builtins
import ipaddress
import uuid
+import warnings
import weakref
- from collections.abc import Mapping, Sequence, Set
+ from collections.abc import Callable, Mapping, Sequence, Set
+ from dataclasses import dataclass
from datetime import date, datetime, time, timedelta
from decimal import Decimal
from enum import Enum
def Field(
default: Any = Undefined,
*,
- default_factory: Optional[NoArgAnyCallable] = None,
- alias: Optional[str] = None,
- alias_priority: Optional[int] = None,
- validation_alias: Optional[str] = None,
- serialization_alias: Optional[str] = None,
- title: Optional[str] = None,
- description: Optional[str] = None,
- exclude: Union[Set[Union[int, str]], Mapping[Union[int, str], Any], Any] = None,
- include: Union[Set[Union[int, str]], Mapping[Union[int, str], Any], Any] = None,
- const: Optional[bool] = None,
- gt: Optional[float] = None,
- ge: Optional[float] = None,
- lt: Optional[float] = None,
- le: Optional[float] = None,
- multiple_of: Optional[float] = None,
- max_digits: Optional[int] = None,
- decimal_places: Optional[int] = None,
- min_items: Optional[int] = None,
- max_items: Optional[int] = None,
- unique_items: Optional[bool] = None,
- min_length: Optional[int] = None,
- max_length: Optional[int] = None,
+ default_factory: NoArgAnyCallable | None = None,
+ alias: str | None = None,
++ alias_priority: int | None = None,
+ validation_alias: str | None = None,
+ serialization_alias: str | None = None,
+ title: str | None = None,
+ description: str | None = None,
+ exclude: Set[int | str] | Mapping[int | str, Any] | Any = None,
+ include: Set[int | str] | Mapping[int | str, Any] | Any = None,
+ const: bool | None = None,
+ gt: float | None = None,
+ ge: float | None = None,
+ lt: float | None = None,
+ le: float | None = None,
+ multiple_of: float | None = None,
+ max_digits: int | None = None,
+ decimal_places: int | None = None,
+ min_items: int | None = None,
+ max_items: int | None = None,
+ unique_items: bool | None = None,
+ min_length: int | None = None,
+ max_length: int | None = None,
allow_mutation: bool = True,
- regex: Optional[str] = None,
- discriminator: Optional[str] = None,
+ regex: str | None = None,
+ discriminator: str | None = None,
repr: bool = True,
- primary_key: Union[bool, UndefinedType] = Undefined,
+ primary_key: bool | UndefinedType = Undefined,
foreign_key: Any = Undefined,
- unique: Union[bool, UndefinedType] = Undefined,
- nullable: Union[bool, UndefinedType] = Undefined,
- index: Union[bool, UndefinedType] = Undefined,
- sa_type: Union[type[Any], UndefinedType] = Undefined,
- sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined,
- sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined,
- schema_extra: Optional[dict[str, Any]] = None,
+ unique: bool | UndefinedType = Undefined,
+ nullable: bool | UndefinedType = Undefined,
+ index: bool | UndefinedType = Undefined,
+ sa_type: type[Any] | UndefinedType = Undefined,
+ sa_column_args: Sequence[Any] | UndefinedType = Undefined,
+ sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined,
+ schema_extra: dict[str, Any] | None = None,
) -> Any: ...
def Field(
default: Any = Undefined,
*,
- default_factory: Optional[NoArgAnyCallable] = None,
- alias: Optional[str] = None,
- alias_priority: Optional[int] = None,
- validation_alias: Optional[str] = None,
- serialization_alias: Optional[str] = None,
- title: Optional[str] = None,
- description: Optional[str] = None,
- exclude: Union[Set[Union[int, str]], Mapping[Union[int, str], Any], Any] = None,
- include: Union[Set[Union[int, str]], Mapping[Union[int, str], Any], Any] = None,
- const: Optional[bool] = None,
- gt: Optional[float] = None,
- ge: Optional[float] = None,
- lt: Optional[float] = None,
- le: Optional[float] = None,
- multiple_of: Optional[float] = None,
- max_digits: Optional[int] = None,
- decimal_places: Optional[int] = None,
- min_items: Optional[int] = None,
- max_items: Optional[int] = None,
- unique_items: Optional[bool] = None,
- min_length: Optional[int] = None,
- max_length: Optional[int] = None,
+ default_factory: NoArgAnyCallable | None = None,
+ alias: str | None = None,
++ alias_priority: int | None = None,
+ validation_alias: str | None = None,
+ serialization_alias: str | None = None,
+ title: str | None = None,
+ description: str | None = None,
+ exclude: Set[int | str] | Mapping[int | str, Any] | Any = None,
+ include: Set[int | str] | Mapping[int | str, Any] | Any = None,
+ const: bool | None = None,
+ gt: float | None = None,
+ ge: float | None = None,
+ lt: float | None = None,
+ le: float | None = None,
+ multiple_of: float | None = None,
+ max_digits: int | None = None,
+ decimal_places: int | None = None,
+ min_items: int | None = None,
+ max_items: int | None = None,
+ unique_items: bool | None = None,
+ min_length: int | None = None,
+ max_length: int | None = None,
allow_mutation: bool = True,
- regex: Optional[str] = None,
- discriminator: Optional[str] = None,
+ regex: str | None = None,
+ discriminator: str | None = None,
repr: bool = True,
- primary_key: Union[bool, UndefinedType] = Undefined,
+ primary_key: bool | UndefinedType = Undefined,
foreign_key: str,
- ondelete: Union[OnDeleteType, UndefinedType] = Undefined,
- unique: Union[bool, UndefinedType] = Undefined,
- nullable: Union[bool, UndefinedType] = Undefined,
- index: Union[bool, UndefinedType] = Undefined,
- sa_type: Union[type[Any], UndefinedType] = Undefined,
- sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined,
- sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined,
- schema_extra: Optional[dict[str, Any]] = None,
+ ondelete: OnDeleteType | UndefinedType = Undefined,
+ unique: bool | UndefinedType = Undefined,
+ nullable: bool | UndefinedType = Undefined,
+ index: bool | UndefinedType = Undefined,
+ sa_type: type[Any] | UndefinedType = Undefined,
+ sa_column_args: Sequence[Any] | UndefinedType = Undefined,
+ sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined,
+ schema_extra: dict[str, Any] | None = None,
) -> Any: ...
def Field(
default: Any = Undefined,
*,
- default_factory: Optional[NoArgAnyCallable] = None,
- alias: Optional[str] = None,
- alias_priority: Optional[int] = None,
- validation_alias: Optional[str] = None,
- serialization_alias: Optional[str] = None,
- title: Optional[str] = None,
- description: Optional[str] = None,
- exclude: Union[Set[Union[int, str]], Mapping[Union[int, str], Any], Any] = None,
- include: Union[Set[Union[int, str]], Mapping[Union[int, str], Any], Any] = None,
- const: Optional[bool] = None,
- gt: Optional[float] = None,
- ge: Optional[float] = None,
- lt: Optional[float] = None,
- le: Optional[float] = None,
- multiple_of: Optional[float] = None,
- max_digits: Optional[int] = None,
- decimal_places: Optional[int] = None,
- min_items: Optional[int] = None,
- max_items: Optional[int] = None,
- unique_items: Optional[bool] = None,
- min_length: Optional[int] = None,
- max_length: Optional[int] = None,
+ default_factory: NoArgAnyCallable | None = None,
+ alias: str | None = None,
++ alias_priority: int | None = None,
+ validation_alias: str | None = None,
+ serialization_alias: str | None = None,
+ title: str | None = None,
+ description: str | None = None,
+ exclude: Set[int | str] | Mapping[int | str, Any] | Any = None,
+ include: Set[int | str] | Mapping[int | str, Any] | Any = None,
+ const: bool | None = None,
+ gt: float | None = None,
+ ge: float | None = None,
+ lt: float | None = None,
+ le: float | None = None,
+ multiple_of: float | None = None,
+ max_digits: int | None = None,
+ decimal_places: int | None = None,
+ min_items: int | None = None,
+ max_items: int | None = None,
+ unique_items: bool | None = None,
+ min_length: int | None = None,
+ max_length: int | None = None,
allow_mutation: bool = True,
- regex: Optional[str] = None,
- discriminator: Optional[str] = None,
+ regex: str | None = None,
+ discriminator: str | None = None,
repr: bool = True,
- sa_column: Union[Column[Any], UndefinedType] = Undefined,
- schema_extra: Optional[dict[str, Any]] = None,
+ sa_column: Column[Any] | UndefinedType = Undefined,
+ schema_extra: dict[str, Any] | None = None,
) -> Any: ...
def Field(
default: Any = Undefined,
*,
- default_factory: Optional[NoArgAnyCallable] = None,
- alias: Optional[str] = None,
- alias_priority: Optional[int] = None,
- validation_alias: Optional[str] = None,
- serialization_alias: Optional[str] = None,
- title: Optional[str] = None,
- description: Optional[str] = None,
- exclude: Union[Set[Union[int, str]], Mapping[Union[int, str], Any], Any] = None,
- include: Union[Set[Union[int, str]], Mapping[Union[int, str], Any], Any] = None,
- const: Optional[bool] = None,
- gt: Optional[float] = None,
- ge: Optional[float] = None,
- lt: Optional[float] = None,
- le: Optional[float] = None,
- multiple_of: Optional[float] = None,
- max_digits: Optional[int] = None,
- decimal_places: Optional[int] = None,
- min_items: Optional[int] = None,
- max_items: Optional[int] = None,
- unique_items: Optional[bool] = None,
- min_length: Optional[int] = None,
- max_length: Optional[int] = None,
+ default_factory: NoArgAnyCallable | None = None,
+ alias: str | None = None,
++ alias_priority: int | None = None,
+ validation_alias: str | None = None,
+ serialization_alias: str | None = None,
+ title: str | None = None,
+ description: str | None = None,
+ exclude: Set[int | str] | Mapping[int | str, Any] | Any = None,
+ include: Set[int | str] | Mapping[int | str, Any] | Any = None,
+ const: bool | None = None,
+ gt: float | None = None,
+ ge: float | None = None,
+ lt: float | None = None,
+ le: float | None = None,
+ multiple_of: float | None = None,
+ max_digits: int | None = None,
+ decimal_places: int | None = None,
+ min_items: int | None = None,
+ max_items: int | None = None,
+ unique_items: bool | None = None,
+ min_length: int | None = None,
+ max_length: int | None = None,
allow_mutation: bool = True,
- regex: Optional[str] = None,
- discriminator: Optional[str] = None,
+ regex: str | None = None,
+ discriminator: str | None = None,
repr: bool = True,
- primary_key: Union[bool, UndefinedType] = Undefined,
+ primary_key: bool | UndefinedType = Undefined,
foreign_key: Any = Undefined,
- ondelete: Union[OnDeleteType, UndefinedType] = Undefined,
- unique: Union[bool, UndefinedType] = Undefined,
- nullable: Union[bool, UndefinedType] = Undefined,
- index: Union[bool, UndefinedType] = Undefined,
- sa_type: Union[type[Any], UndefinedType] = Undefined,
- sa_column: Union[Column, UndefinedType] = Undefined, # type: ignore
- sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined,
- sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined,
- schema_extra: Optional[dict[str, Any]] = None,
+ ondelete: OnDeleteType | UndefinedType = Undefined,
+ unique: bool | UndefinedType = Undefined,
+ nullable: bool | UndefinedType = Undefined,
+ index: bool | UndefinedType = Undefined,
+ sa_type: type[Any] | UndefinedType = Undefined,
+ sa_column: Column | UndefinedType = Undefined, # type: ignore
+ sa_column_args: Sequence[Any] | UndefinedType = Undefined,
+ sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined,
+ schema_extra: dict[str, Any] | None = None,
) -> Any:
current_schema_extra = schema_extra or {}
+
+ for param_name in ("alias_priority",):
+ if param_name in current_schema_extra:
+ msg = f"Pass `{param_name}` parameter directly to Field instead of passing it via `schema_extra`"
+ warnings.warn(msg, DeprecationWarning, stacklevel=2)
+
# Extract possible alias settings from schema_extra so we can control precedence
schema_validation_alias = current_schema_extra.pop("validation_alias", None)
schema_serialization_alias = current_schema_extra.pop("serialization_alias", None)