如何在 pydantic 中设置最大字符串字段长度约束?

Eze*_*zez 4 python pydantic fastapi

所以,我有带有字符串字段的pydantic模型

class MyPydanticModel(BaseModel):
    name: Optionsl[str]
Run Code Online (Sandbox Code Playgroud)

我想让这个字段的最大长度为 10。我该怎么做?

fun*_*man 11

您还可以使用Field,它也支持约束,例如:

如果字段是可选的:

from pydantic import BaseModel, Field 
from typing import Optional

class MyPydanticModel(BaseModel):
    title: Optional[str] = Field(None, max_length=10)
Run Code Online (Sandbox Code Playgroud)

如果需要字段:

from pydantic import BaseModel, Field 
from typing import Optional

class MyPydanticModel(BaseModel):
    title: str = Field(..., max_length=10)
Run Code Online (Sandbox Code Playgroud)

  • 这与 mypy 一起使用,与 `constr` 不同 (3认同)

vis*_*ell 6

您可以使用constr

from pydantic import BaseModel, constr

class MyPydanticModel(BaseModel):
    name: Optional[constr(max_length=10)]
Run Code Online (Sandbox Code Playgroud)