Если требуется из определённой таблицы БД получить несколько записей по списку их идентификаторов, то можно использовать in
, но стоит быть осторожным, т.к. достаточно длинные списки могут привести к ошибке обращений к БД:
def get_rows_by_ids(your_ids_list: list):
is_valid_ids = [isinstance(id_, int) for id_ in your_ids_list]
if False in is_valid_ids:
# можно поднять исключение через raise или вернуть None и т.п.
return None
return ModelClassName.query.filter(ModelClassName.id.in_(your_ids_list)).all()