我有以下PYDANIC版本的模型(2.0.3版)

from typing import Tuple
from pydantic import BaseModel

class Model(BaseModel):
    test_field: Tuple[int]

但是当我进go 的时候

model = Model(test_field=(1,2))

我得到的错误是:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "/Users/tobi/Documents/scraiber/z_legacy/fastapi_test_app/venv/lib/python3.10/site-packages/pydantic/main.py", line 150, in __init__
    __pydantic_self__.__pydantic_validator__.validate_python(data, self_instance=__pydantic_self__)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Model
test_field
  Tuple should have at most 1 item after validation, not 2 [type=too_long, input_value=(1, 2), input_type=tuple]
    For further information visit https://errors.pydantic.dev/2.0.3/v/too_long

你知道我怎么才能解决这个问题吗?

推荐答案

在S回答@Tim Robert之后,链接的PR建议使用Ellipsis ...是你想要的语法!

https://github.com/pydantic/pydantic/pull/512/files

class Model(BaseModel):
    test_field: Tuple[int, ...]
>>> Model(test_field=(1,2))
Model(test_field=(1, 2))

Python相关问答推荐

是否有使用纯霍夫曼编码的现代图像格式?

Python:根据创建时间合并两个收件箱

键盘.任务组

使用Python和PRNG(不是梅森龙卷风)有效地生成伪随机浮点数在[0,1)中均匀?

Matplotlib轮廓线值似乎不对劲

使用图片生成PDF Django rest框架

Python主进程和分支进程如何共享gc信息?

从管道将Python应用程序部署到Azure Web应用程序,不包括需求包

如何从FDaGrid实例中删除某些函数?

优化在numpy数组中非零值周围创建缓冲区的函数的性能

根据条件将新值添加到下面的行或下面新创建的行中

'discord.ext. commanders.cog没有属性监听器'

如何在Python中将returns.context. DeliverresContext与Deliverc函数一起使用?

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

C#使用程序从Python中执行Exec文件

如何使用根据其他值相似的列从列表中获取的中间值填充空NaN数据

为什么以这种方式调用pd.ExcelWriter会创建无效的文件格式或扩展名?

如何指定列数据类型

基于另一列的GROUP-BY聚合将列添加到Polars LazyFrame

python sklearn ValueError:使用序列设置数组元素