如何通过代码获取Pydantic模型字段的max_length值?

如何通过代码获取pydantic模型字段的max_length值?

通过代码获取 pydantic 模型字段的 max_length 取值

在 pydantic 模型中,字段的 max_length 定义了该字段的最大字符长度。通过代码获取 max_length 取值可以帮助我们验证输入的有效性。

pydantic v1

在 pydantic v1 中,max_length 存储在 field_info 对象的 max_length 属性中:

from pydantic import BaseModel, Field

class MetaCollection(BaseModel):
    id: int | None = Field(default=None)
    collection_name: str = Field(max_length=64)
    description: str | None = Field(None, max_length=1024)

# 获取 description 字段的 max_length
description_max_length = MetaCollection.__fields__["description"].field_info.max_length
print(description_max_length)

pydantic v2 中的获取方式

由于这个问题是在 pydantic v1 中提出的,因此对于 pydantic v2 中如何获取 max_length 的讨论仍在进行中。你可以参考问题答案中的链接获取最新信息:

https://github.com/pydantic/pydantic/discussions/8388

以上就是如何通过代码获取Pydantic模型字段的max_length值?的详细内容,更多请关注硕下网其它相关文章!