我正在使用 pydantic 和 strictyaml 读取 yaml 配置文件。我正在使用这个类
class CarData(BaseModel):
model: str
length: float
width: float
height: float
fuel_efficiency: conlist(item_type=float, min_items=3, max_items=3) # Ensures exactly 3 values
# fuel_efficiency: list[float]
并且我遵循了conlist 文档中的内容,但是当我运行脚本时,我得到了
TypeError: conlist() got an unexpected keyword argument 'min_items'
为什么会发生这种情况?如何纠正?(我的 pydantic 版本是 2.9.2,以防万一)
错误是由于您使用的是最新版本的Pydantic v2.9 ,但使用了旧版本的参数
conlist
。在 Pydantic 版本 2.x 中,根据最新文档,min_lenght
这些参数已更改为和。但是,您的链接与版本 1.10相关。max_length
因此,该问题将通过以下代码行修复:
值得一提的是,您还可以通过
Annotated
以下方式实现此目的:或者: