#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
не определено в моей базовой модели (из-за опечатки), поэтому я бы хотел, чтобы pydantic выдал ошибку.
Есть идеи, как мне поступить?
Редактировать: я нашел решение, используя dataclass вместо BaseModel, но dataclass, похоже, не работает с FastAPI, поэтому я не могу использовать dataclass
Ответ №1:
Я нашел решение:
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, param2=9)
Приведенное выше теперь вызывает ошибку