Цепные сравнения в SQLAlchemy
питонподдерживает цепные сравнения: 1 < 2 < 3
переводит на(1 < 2) and (2 < 3)
.
Я пытаюсь сделать SQL-запрос с использованием SQLAlchemy, который выглядит следующим образом:
results = session.query(Couple).filter(10 < Couple.NumOfResults < 20).all()
Результаты, которые я получил, оказались не такими, как ожидалось. Я включил двигательecho=True
ключевое слово, и действительно - сгенерированный запрос SQL включал только одно из двух сравнений.
Я не могу найти любую документацию, в которой прямо сказано, что это запрещено. Я предположил, что если этот тип выражения поддерживается в Python, он должен поддерживаться и в SQLAlchemy.
Почему это не работает? Я имею в виду одно возможное решение (разделено в ответах), но буду рад услышать другие мнения.