+ @classmethod
+ def by_id(cls,
+ db_conn: DatabaseConnection, id_: str | None,
+ create: bool = False,
+ ) -> Day:
+ """Extend BaseModel.by_id checking for new/lost .todos."""
+ day = super().by_id(db_conn, id_, create)
+ assert day.id_ is not None
+ if day.id_ in Todo.days_to_update:
+ Todo.days_to_update.remove(day.id_)
+ day.todos = Todo.by_date(db_conn, day.id_)
+ return day
+