Есть ли что-нибудь очевидное для проверки модели pydanti c после некоторого изменения какого-либо атрибута?
Скажем, я создаю простую модель и объект:
from pydantic import BaseModel
class A(BaseModel):
b: int = 0
a=A()
Затем отредактируйте ее, поэтому что он на самом деле недействителен:
a.b = "foobar"
Могу ли я принудительно выполнить повторную проверку и ожидать, что будет поднята ValidationError
?
Я пробовал
A.validate(a) # no error
a.copy(update=dict(b='foobar')) # no error
Что действительно ли работа была
A(**dict(a._iter()))
ValidationError: 1 validation error for A
b
value is not a valid integer (type=type_error.integer)
Но это не совсем просто и Мне нужно использовать предположительно частный метод _iter
.
Есть чистая альтернатива?