From 1f23ba549077f4189ddb00f65cec62648c5c1462 Mon Sep 17 00:00:00 2001 From: LUIS NOVO Date: Mon, 4 Nov 2024 09:49:45 -0300 Subject: [PATCH] add autoload to recordmodel --- open_notebook/domain/base.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/open_notebook/domain/base.py b/open_notebook/domain/base.py index c33a292..146589d 100644 --- a/open_notebook/domain/base.py +++ b/open_notebook/domain/base.py @@ -154,17 +154,21 @@ class ObjectModel(BaseModel): class RecordModel(BaseModel): - record_id: ClassVar[str] = "open_notebook:default_models" + record_id: ClassVar[str] - @classmethod - def load(cls): - result = repo_query(f"SELECT * FROM {cls.record_id};") + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.load() + + def load(self): + result = repo_query(f"SELECT * FROM {self.record_id};") if result: result = result[0] - dm = cls(**result) - return dm - return cls() + for key, value in result.items(): + if hasattr(self, key): + setattr(self, key, value) + return self - @classmethod def update(self, data): repo_update(self.record_id, data) + return self.load()