BaseModel的数据类型

在Pydantic的BaseModel中,可以使用Python的基本数据类型以及一些特殊的类型,包括但不限于以下几种:

1、基本数据类型:
  1. int: 整数

  2. float: 浮点数

  3. str: 字符串

  4. bool: 布尔值 (True 或 False)

  5. bytes: 字节串

  6. None: 用于表示可选字段的缺失    

2、容器类型:
  1. List[<type>]: 列表,其中<type>是你想限制的元素类型,例如List[int]表示整数列表
  2. Tuple[<type>, ...]: 元组,同样可以指定元素类型
  3. Set[<type>]: 集合
  4. Dict[str, <type>]: 字典,键通常是字符串类型,值可以是任意类型
  5. Union[<type1>, <type2>, ...]: 联合类型,表示字段可以是多种类型中的任意一种
  6. Optional[<type>]: 表示该字段可以是某类型或None,等价于Union[<type>, NoneType]
3、特殊类型:
  1. EmailStr: 验证电子邮件地址的字符串。

  2. AnyUrl: 验证任何类型的URL。

  3. FilePath: 文件路径。

  4. DirectoryPath: 目录路径。

  5. StrictBool: 更严格的布尔类型,不允许非布尔值的输入。

  6. constr(min_length=..., max_length=...): 用于字符串,可以限制最小和最大长度。

  7. SecretStr: 用于敏感信息,如密码,会在日志和错误信息中隐藏具体内容。

4、自定义类型:
  1. 你可以定义自己的类型,只要它们实现了相应的逻辑以支持数据验证和序列化/反序列化。

5、额外的验证工具:
  1. 使用Field进行更细粒度的控制,比如设置默认值、描述、是否必填等。
  2. 使用validator装饰器定义自定义验证逻辑。

这些类型和工具共同构成了Pydantic强大而灵活的数据验证和建模能力。注意,类型注解应当遵循PEP 484和PEP 585中定义的标准,以确保最佳的兼容性和易读性。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值