Unsupported operand type(s) for +

Используется flask, sqlalchemy Выбираю наибольший id из бд и потом увеличиваю на 1

max_id = db.session.query(func.max(User.id)).scalar()
id = max_id + 1

В ответ получаю ошибку:

TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

если в консоли python сделать тоже самое, работает нормально если проверить например

max_id = db.session.query(func.max(User.id)).scalar()
type(max_id) == int
true

Кстати,на локальном сервере работает, на рабочем, нелокальном не работает Что не так? Почему не хочет прибавлять?


Ответы (1 шт):

Автор решения: SmellyNS

db.session.query возвращает None. Когда вы пытаетесь прибавить к нему единицу, возникает операция None + int, которая и дропает вам вашу ошибку.

Проверяйте корректность инициализации session. Проще говоря, связь с базой данных, существование нужных сущностей и атрибутов и т.д.

→ Ссылка