gpt4 book ai didi

python - 声明 Pydantic 模型 "TypeError: ' 类型的对象不可迭代”

转载 作者:行者123 更新时间:2023-12-01 23:19:15 34 4
gpt4 key购买 nike

我正在使用 FastAPI 构建数据 API。我希望客户发布 2 个包含 24 个 float 的列表,稍后我会将其保存到数据库中。

当我尝试创建 Pydantic 模型时:

from pydantic import BaseModel

class Prices(BaseModel):
buying_price: list(float)=[]
selling_price: list(float)=[]

我收到以下错误:

File "c:/Users/Amin y Lubna/FastAPI-InfluxDB/test.py", line 3, in <module>
class Prices(BaseModel):
File "c:/Users/Amin y Lubna/FastAPI-InfluxDB/test.py", line 4, in Prices
buying_price: list(float)=[]
TypeError: 'type' object is not iterable

尽管错误是不言自明的,但我还是不明白。

然后,查看文档我发现了以下方法:

from pydantic import BaseModel
from typing import List

class Prices(BaseModel):
buying_price: List(float)=[]
selling_price: List(float)=[]

但是我得到了以下错误。

File "c:/Users/Amin y Lubna/FastAPI-InfluxDB/test.py", line 4, in <module>
class Prices(BaseModel):
File "c:/Users/Amin y Lubna/FastAPI-InfluxDB/test.py", line 5, in Prices
buying_price: List(float)=[]
File "C:\Users\Amin y Lubna\anaconda3\lib\typing.py", line 727, in __call__
raise TypeError(f"Type {self._name} cannot be instantiated; "
TypeError: Type List cannot be instantiated; use list() instead

几天来我一直在为这个错误而苦苦挣扎,但我找不到解决问题的方法。

最佳答案

你需要使用list[float],而不是list(float)

关于python - 声明 Pydantic 模型 "TypeError: ' 类型的对象不可迭代”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68329340/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com