diff --git a/pydantic/main.py b/pydantic/main.py index 5de635d..0b44b0e 100644 --- a/pydantic/main.py +++ b/pydantic/main.py @@ -656,6 +656,11 @@ class BaseModel(metaclass=MetaModel): ret.extend(self.__dict__.keys()) return ret + @property + def __values__(self) -> 'DictStrAny': + warnings.warn('`__values__` attribute is deprecated, use `__dict__` instead', DeprecationWarning) + return self.__dict__ + def create_model( model_name: str, diff --git a/tests/test_edge_cases.py b/tests/test_edge_cases.py index eaf2500..e2b313f 100644 --- a/tests/test_edge_cases.py +++ b/tests/test_edge_cases.py @@ -995,3 +995,13 @@ def test_nested_init(model): assert m.self == 'Top Model' assert m.nest.self == 'Nested Model' assert m.nest.modified_number == 1 + + +def test_values_attr_deprecation(): + class Model(BaseModel): + foo: int + bar: str + + m = Model(foo=4, bar='baz') + with pytest.warns(DeprecationWarning, match='`__values__` attribute is deprecated, use `__dict__` instead'): + assert m.__values__ == m.__dict__