invalid-pydantic-field-default
Require literal Pydantic model-field defaults to satisfy their resolved contract.
Why
Pydantic does not validate defaults unless default validation is enabled. An invalid literal can therefore enter a model while contradicting its annotation or field bounds.
Fix
Choose a default allowed by the annotation and every literal Field bound, or widen the contract when the value is intentional.
Examples
from typing import Annotatedfrom pydantic import BaseModel, Field
PositiveInt = Annotated[int, Field(gt=0)]
class RetryPolicy(BaseModel): attempts: PositiveInt = 0from typing import Annotatedfrom pydantic import BaseModel, Field
PositiveInt = Annotated[int, Field(gt=0)]
class RetryPolicy(BaseModel): attempts: PositiveInt = 1from pydantic import BaseModel
class User(BaseModel): display_name: str = Nonefrom pydantic import BaseModel
class User(BaseModel): display_name: str | None = None