+ assert todo.id_ is not None
+ db_conn.cached_todos[todo.id_] = todo
+ return todo
+
+ @classmethod
+ def by_id(cls, db_conn: DatabaseConnection, id_: int) -> Todo:
+ """Get Todo of .id_=id_ – from DB cache if possible."""
+ if id_ in db_conn.cached_todos.keys():
+ todo = db_conn.cached_todos[id_]
+ assert isinstance(todo, Todo)
+ return todo
+ for row in db_conn.exec('SELECT * FROM todos WHERE id = ?', (id_,)):
+ return cls.from_table_row(db_conn, row)
+ raise NotFoundException(f'Todo of ID not found: {id_}')