Ось модель:
class User(Base):
...
birthday = Column(Date, index=True) #in database it's like '1987-01-17'
...
Я хочу фільтрувати між двома датами, наприклад, щоб вибрати всіх користувачів з інтервалом 18-30 років.
Як реалізувати це за допомогою SQLAlchemy?
Я думаю про:
query = DBSession.query(User).filter(
and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17')
)
# means age >= 24 and age <= 27
Я знаю, що це не правильно, але як правильно зробити?
'1985-01-17'
, ви також можете використовуватиdatetime.date(1985, 1, 17)
- можливо, у деяких умовах простіше працювати або працювати з ним.