You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pydantic 2.x中conlist报min_items参数错误的原因及解决方法

问题原因与解决方法

错误原因

你使用的是Pydantic 2.9.2版本,但参考的是1.10版本的文档,两个版本中conlist的参数规则存在差异:

  • Pydantic 1.x里的min_items、max_items参数,在2.x中被重命名为min_length、max_length
  • 1.x中的item_type参数在2.x中被移除,需要直接将元素类型作为conlist的第一个位置参数传入

修正方案

方案1:适配Pydantic 2.x的conlist用法

修改参数名称并调整元素类型的传入方式:

from pydantic import BaseModel, conlist

class CarData(BaseModel):
    model: str
    length: float
    width: float
    height: float
    fuel_efficiency: conlist(float, min_length=3, max_length=3)  # 确保恰好3个值

方案2:使用Pydantic 2.x推荐的Annotated+Field写法

这种方式更符合新版Pydantic的风格,可读性更强:

from pydantic import BaseModel, Field
from typing import Annotated, List

class CarData(BaseModel):
    model: str
    length: float
    width: float
    height: float
    fuel_efficiency: Annotated[List[float], Field(min_length=3, max_length=3)]

内容的提问来源于stack exchange,提问作者KansaiRobot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 19:29:52