Поле модели Pydantic со значением по умолчанию не проходит проверку типаPython

Программы на Python
Anonymous
Поле модели Pydantic со значением по умолчанию не проходит проверку типа

Сообщение Anonymous »

В следующем коде показана ошибка pylance (pyright) для AModel() из-за отсутствия аргумента для параметра «field_b»:

Код: Выделить всё

from pydantic import BaseModel, Field
from typing import Optional, Any

class AModel(BaseModel):
field_a: str = Field()
field_b: Optional[bool] = Field(None)

instance_1 = AModel(field_a="", field_b=None)  # No error
instance_2 = AModel(field_a="")  # Error
#            ^^^^^^^^^^^^^^^^^^

kwargs: dict[str, Any] = {"field_a": "", "field_bad": True}
instance_3 = AModel(**kwargs)  # No error but no type checking
Можно ли создать экземпляр этой модели без указания field_b=None и при этом сохранить проверку типа?


Подробнее здесь: https://stackoverflow.com/questions/786 ... e-checking

Вернуться в «Python»