Python 如果BaseModel获得意外参数,如何使pydantic引发ValidationError
我正在使用pydantic检查参数文件的格式。如果参数名称中有输入错误,我希望pydantic引发错误,但它没有 例如,以下情况不会引发任何错误:Python 如果BaseModel获得意外参数,如何使pydantic引发ValidationError,python,python-3.x,pydantic,Python,Python 3.x,Pydantic,我正在使用pydantic检查参数文件的格式。如果参数名称中有输入错误,我希望pydantic引发错误,但它没有 例如,以下情况不会引发任何错误: from typing import Optional from pydantic import BaseModel class Param(BaseModel): param1: int param2: Optional[str] = None p = Param(param1=2, parram2=9) 但是parram2
from typing import Optional
from pydantic import BaseModel
class Param(BaseModel):
param1: int
param2: Optional[str] = None
p = Param(param1=2, parram2=9)
但是parram2
未在我的BaseModel中定义,因此我希望pydantic提出一个错误
你知道我该怎么做吗
编辑:我找到了一个使用dataclass而不是BaseModel的解决方案,但dataclass似乎不适用于FastAPI,因此我无法使用dataclass。我找到了解决方案:
from typing import Optional
from pydantic import BaseModel
class Param(BaseModel):
param1: int
param2: Optional[str] = None
class Config:
extra = 'forbid'
p = Param(param1=2, parram2=9)
现在,上面的操作引发了一个错误