Как выбрать все элементы из БД на недельный период с использованием SQLALCHEMY (Flask) - PullRequest
0 голосов
/ 31 марта 2020

Так что мне было интересно, есть ли способ получить неделю или месяц из БД. У меня в БД есть value и date, и я хочу получить все элементы с датой, например, 2020-03-01 и 2020-04-01.

Я попробовал следующий код, но он дает предупреждение и ничего не возвращает:

Код:

users_count = StatsUsers.query.filter(and_(func.date(StatsUsers.created_date >= '2020-03-30'), func.date(StatsUsers.created_date <= '2020-04-30')))
        for x in users_count:
            print(x.value)
        return render_template('admin/index.html', users_count=0)

Предупреждение, которое он выдает:

Warning: (1292, "Incorrect datetime value: '1'")

Моя БД:

enter image description here

1 Ответ

0 голосов
/ 31 марта 2020

Я исправил свою проблему после прочтения этого поста: Flask -sqlalchemy запрос даты-интервала

Что я сделал, так это в основном изменил filter(and_(func.date())) на filter() и убедился БД была в DATETIME.

Новый код:

users_count = StatsUsers.query.filter(StatsUsers.created_date >= '2020-03-01 00:00:00').filter(StatsUsers.created_date <= '2020-04-30 00:00:00').all()
        for x in users_count:
            print(x.value)
...