home · contact · privacy
Refactor .as_dict integration of Process.explicit_steps, Day.todos.
[plomtask] / plomtask / db.py
index b3f1db00986b1142f5f31be34060864840ab5bdc..e95c27d52133ed16d448f221f9f6df89efd25fde 100644 (file)
@@ -235,6 +235,7 @@ class BaseModel(Generic[BaseModelId]):
     to_save: list[str] = []
     to_save_versioned: list[str] = []
     to_save_relations: list[tuple[str, str, str, int]] = []
+    add_to_dict: list[str] = []
     id_: None | BaseModelId
     cache_: dict[BaseModelId, Self]
     to_search: list[str] = []
@@ -295,6 +296,9 @@ class BaseModel(Generic[BaseModelId]):
             for rel in getattr(self, attr_name):
                 l += [rel.as_dict_into_reference(library)]
             d[attr_name] = l
+        for k in self.add_to_dict:
+            d[k] = [x.as_dict_into_reference(library)
+                    for x in getattr(self, k)]
         return d
 
     def as_dict_into_reference(self,