@Tibor128

Как обновить кастомные поля модели Sessions в Flask?

Добрый день!
Пытаюсь освоить Flask. Из коробки, документация внятная и понятная, но мне понадобилось в базе в таблице sessions хранить помимо штатных для flask_sessions данных несколько собственных полей.
Вот модель которую я создал:
class Sessions(db.Model):
	__table_args__ = { 'extend_existing': True }

	user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable = True)
	room_id = db.Column(db.Integer, db.ForeignKey('room.id'), nullable = True)

Теперь мне необходимо обновить user_id.
По идее, мне нужно знать id записи в БД.
Не могу сообразить как до него добраться.
Пробовал добраться до id так:
print(app.session_interface.sql_session_model.id)
но на выходе получаю:
Sessions.id

В общем я ожидал, что будет выглядеть как-то вроде:
session.user_id = 1
session.commit()

Но видимо не всё так просто(

Собственно вопрос:
Как правильно изменить в БД, поле user_id для текущей сессии?

UPD:
Я нашёл решение, но мне кажется должно быть что-то более правильное чем это:
row = db.session.query(Sessions).filter_by(session_id = 'session:%s'%session.sid).first()
row.user_id = 1
db.session.commit()
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы