Фильтрация в SQLAlchemy задаёт условия отбора строк, обычно преобразуемые в SQL WHERE; она отличается от фильтрации уже загруженного Python-списка.
Что означает фильтрация в SQLAlchemy?
Фильтрация в SQLAlchemy задаёт условия отбора строк, обычно преобразуемые в SQL WHERE; она отличается от фильтрации уже загруженного Python-списка.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Фильтрация в SQLAlchemy задаёт условия отбора строк, обычно преобразуемые в SQL WHERE; она отличается от фильтрации уже загруженного Python-списка.
В современном стиле запрос выглядит так:
stmt = select(User).where(User.is_active.is_(True))
users = session.scalars(stmt).all()
Здесь предполагаются импортированный select, модель User и открытая session. Условия объединяют через несколько аргументов where, and_ или or_. Нельзя подставлять пользовательский ввод конкатенацией в SQL. Обратите внимание на NULL, связи и количество загружаемых строк. Старый Query API использует filter/filter_by, но концепция отбора на стороне БД остаётся той же.