From: phi-friday Date: Sat, 27 Aug 2022 23:22:09 +0000 (+0900) Subject: 🐛 Fix type annotations for `Model.parse_obj()`, and `Model.validate()` (#321) X-Git-Tag: 0.0.7~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5429e9b6aaeaed40bbcabe5acf0b7bde28721e88;p=thirdparty%2Ffastapi%2Fsqlmodel.git 🐛 Fix type annotations for `Model.parse_obj()`, and `Model.validate()` (#321) Co-authored-by: Sebastián Ramírez --- diff --git a/sqlmodel/main.py b/sqlmodel/main.py index 0144f6f4..bdfe6dfc 100644 --- a/sqlmodel/main.py +++ b/sqlmodel/main.py @@ -558,8 +558,8 @@ class SQLModel(BaseModel, metaclass=SQLModelMetaclass, registry=default_registry @classmethod def parse_obj( - cls: Type["SQLModel"], obj: Any, update: Optional[Dict[str, Any]] = None - ) -> "SQLModel": + cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None + ) -> _TSQLModel: obj = cls._enforce_dict_if_root(obj) # SQLModel, support update dict if update is not None: @@ -573,7 +573,7 @@ class SQLModel(BaseModel, metaclass=SQLModelMetaclass, registry=default_registry # From Pydantic, override to enforce validation with dict @classmethod - def validate(cls: Type["SQLModel"], value: Any) -> "SQLModel": + def validate(cls: Type[_TSQLModel], value: Any) -> _TSQLModel: if isinstance(value, cls): return value.copy() if cls.__config__.copy_on_model_validation else value