1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pydantic の非推奨回避策まとめ

Last updated at Posted at 2025-06-01

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
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?