Я немного запутался в фильтрации SQLAlchemy.
В настоящее время я пытаюсь отфильтровать записи более 10 недель, поэтому у меня есть
current_time = datetime.datetime.utcnow()
potential = session.query(Subject).filter(Subject.time < current_time - datetime.timedelta(weeks=10))
Однако potential.count()
всегда возвращает 0
.
Моя теория заключается в том, что я не использую оператор фильтра правильно, потому что, когда я пытаюсь использовать столбец, который не имеет тип Column(DateTime())
, но вместо этого
Столбец (Строка (250))
как
potential = session.query(Subject).filter(Subject.string_field < current_time - datetime.timedelta(weeks=10))
SQLAlchemy все равно не будет жаловаться.
Кроме того, когда я делаю ручную проверку с помощью
curr_time - session.query(Subject).first().time > datetime.timedelta(weeks=10)
Я получаю True
, что означает, что счетчик не должен быть 0
.
Я пропустил что-то очевидное? Любая помощь будет оценена.