conint
非推奨
from typing import Optional
from pydantic import BaseModel, conint
class OrderItem(BaseModel):
product: str
size: str
quantity: Optional[conint(ge=1)]=1
回避策
from typing import Annotated, Optional
from pydantic import BaseModel, Field
class OrderItem(BaseModel):
product: str
size: str
quantity: Optional[Annotated[int, Field(ge=1)]=1
Extra
非推奨
from typing import Optional
from pydantic import BaseModel, Field, Extra
class OrderItem(BaseModel):
product: str
size: str
quantity: Optional[Annotated[int, Field(ge=1)]=1
class Config:
extra = Extra.forbid
回避策①
from typing import Annotated, Optional
from pydantic import BaseModel, Field, ConfigDict
class OrderItem(BaseModel):
product: str
size: str
quantity: Optional[Annotated[int, Field(ge=1)]=1
model_config=ConfigDict(extra="forbid")
回避策②
from typing import Annotated, Optional
from pydantic import BaseModel, Field
class OrderItem(BaseModel, extra="forbid"):
product: str
size: str
quantity: Optional[Annotated[int, Field(ge=1)]=1