def METHOD_NAME(
    cls,
    model_id: str | int,
    session: Session = None,
    skip_base_filter: bool = False,
) -> Model | None:
    """
    Find a model by id, if defined applies `base_filter`
    """
    session = session or db.session
    query = session.query(cls.model_cls)
    if cls.base_filter and not skip_base_filter:
        data_model = SQLAInterface(cls.model_cls, session)
        query = cls.base_filter(  # pylint: disable=not-callable
            cls.id_column_name, data_model
        ).apply(query, None)
    id_column = getattr(cls.model_cls, cls.id_column_name)
    try:
        return query.filter(id_column == model_id).one_or_none()
    except StatementError:
        # can happen if int is passed instead of a string or similar
        return None