from typing import Any from db_schema.schemas.slz import Snapshot from sqlalchemy import inspect from sqlalchemy.orm import Session from delphi_slz_admin.modelviews import BaseFilterById, BaseModelView class FilterContentStatusId(BaseFilterById): def __init__(self, **kwargs: Any) -> None: self.column = Snapshot.content_status_id self.name = 'Content Status ID' super().__init__(self.column, self.name, **kwargs) class SnapshotModelView(BaseModelView): column_list = [c_attr.key for c_attr in inspect(Snapshot).mapper.column_attrs] column_sortable_list = column_list column_filters = [FilterContentStatusId()] def __init__(self, session: Session, **kwargs: Any) -> None: self.model = Snapshot super().__init__(self.model, session, **kwargs)