model_json_schema示列
from pydantic import BaseModel, Field, ValidationError, field_validatorclass User(BaseModel):id: int = Field(default=0, lt=100, gt=0)username: stremail: str@field_validator('username')def name_must_alpha(cls, v):assert v.isalpha(), 'name must be alpha'return vif __name__ == '__main__':print(User.model_json_schema())
id
字段是一个整数类型(int
)。- 它的默认值是0(
default=0
)。 - 字段的值必须小于100(
lt=100
)。 - 字段的值必须大于0(
gt=0
)。
输出如下:
{'properties': {'id': {'default': 0,'exclusiveMaximum': 100,'exclusiveMinimum': 0,'title': 'Id','type': 'integer'},'username': {'title': 'Username','type': 'string'},'email': {'title': 'Email','type': 'string'}},'required': ['username','email'],'title': 'User','type': 'object'
}