У меня странная проблема. Вот этот маршрут:
Когда я тестирую локально (http://127.0.0.1: 5000 / ) и подключаюсь к postgres URI (предоставленный Heroku) Я получил результаты, предназначенные для этого запроса. Как это выглядит Только когда я попытаюсь попасть в конечную точку из развернутого (https://appname.herokuapp.com/), я получу другой результат. Что выглядит следующим образом:
Внутри оператора if: если он возвращает true, то месяц равняется как последнему месяцу, так и текущему месяцу, разделенному запятой как это: 3,4
Я проверил запрос на сервере heroku, полностью удалив переменную month и заменив ее просто: (3,4), и она работает как положено, поэтому она должна иметь что-то делать с введением строки / переменной f. Я не могу понять, что не так или почему это проблема только для Heroku. Я дважды проверил, чтобы все файлы на Heroku были актуальными.
Любая помощь ооочень благодарна.
@app.route('/thisweek', methods=['GET'])
def get_weeks_moods():
today = Today()
if today.is_new_month():
month = f"{today.get_yesterday()['month']},{today.month}"
else:
month = today.month
# Raw sql requirement
data = db.session.execute(
f"SELECT m.id, m.date, coalesce(m.moodrating, 0) as moodrating, m.comment, c.day_of_week FROM mood m RIGHT JOIN calendar c ON m.date=c.day_id WHERE c.week_of_year={today.week} AND c.day_of_week <> 0 AND month IN ({month}) AND year={today.year} UNION (SELECT m.id, m.date, coalesce(m.moodrating, 0) AS moodrating, m.comment, c.day_of_week FROM mood m RIGHT JOIN calendar c on m.date=c.day_id WHERE c.week_of_year={today.week - 1} AND c.day_of_week={0} AND c.month IN ({month}) AND c.year={today.year}) ORDER BY day_of_week")
return jsonify({'result': [dict(row) for row in data]})