Jestem nieco zdezorientowany, jeśli chodzi o filtrowanie w SQLAlchemy.Wykonywanie porównań DateTime w filtrze SQLAlchemy
Obecnie staram się odfiltrować wpisy większe niż 10 tygodni, więc mam
current_time = datetime.datetime.utcnow()
potential = session.query(Subject).filter(Subject.time < current_time - datetime.timedelta(weeks=10))
Jednak potential.count()
zawsze zwraca 0
.
Moja teoria jest taka, że nie jestem poprawnie za pomocą instrukcji filtra bo gdy próbuję użyć kolumnę, która nie jest typu Column(DateTime())
ale zamiast
Kolumna (String (250))
podobnie jak
potential = session.query(Subject).filter(Subject.string_field < current_time - datetime.timedelta(weeks=10))
SQLAlchemy nadal nie będzie narzekać.
Również, gdy robię ręczne sprawdzanie
curr_time - session.query(Subject).first().time > datetime.timedelta(weeks=10)
uzyskać True
co oznacza, że liczba nie powinna być 0
.
Czy brakuje mi czegoś oczywistego? Każda pomoc będzie doceniona.