- @classmethod
- def _by_id(cls, db_conn: DatabaseConnection,
- id_: BaseModelId) -> Self | None:
- """Return instance found by ID, or None, and if from cache or not."""
- obj = cls.get_cached(id_)
- if not obj:
- for row in db_conn.row_where(cls.table_name, 'id', id_):
- obj = cls.from_table_row(db_conn, row)
- obj.cache()
- break
- return obj
-