From 64603bbf18787a77bc78d448f888b17658f05ce8 Mon Sep 17 00:00:00 2001 From: Behnam Simjoo <117530839+b-simjoo@users.noreply.github.com> Date: Sun, 6 Aug 2023 19:05:32 +0330 Subject: [PATCH] add `default` parametter to `HashModel.get` --- aredis_om/model/model.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/aredis_om/model/model.py b/aredis_om/model/model.py index a4c6b9e7..b4c78ba6 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)