diff --git a/aredis_om/model/model.py b/aredis_om/model/model.py index a4c6b9e7..9660ebe7 100644 --- a/aredis_om/model/model.py +++ b/aredis_om/model/model.py @@ -51,6 +51,7 @@ from .token_escaper import TokenEscaper +_INCOMPLETE = object() model_registry = {} _T = TypeVar("_T") Model = TypeVar("Model", bound="RedisModel") @@ -1532,9 +1533,11 @@ async def all_pks(cls): # type: ignore ) @classmethod - async def get(cls: Type["Model"], pk: Any) -> "Model": + async def get(cls: Type["Model"], pk: Any, default:_INCOMPLETE) -> "Model": document = await cls.db().hgetall(cls.make_primary_key(pk)) if not document: + if default is not _INCOMPLETE: + return default raise NotFoundError try: result = cls.parse_obj(document)