+ @classmethod
+ def by_id(cls, db_conn: DatabaseConnection,
+ date: str, create: bool = False) -> Day:
+ """Retrieve Day by date if in DB (prefer cache), else return None."""
+ day, _ = super()._by_id(db_conn, date)
+ if day:
+ assert isinstance(day, Day)
+ return day
+ if not create:
+ raise NotFoundException(f'Day not found for date: {date}')
+ day = cls(date)
+ day.cache()
+ assert isinstance(day, Day)
+ return day
+