есть ли какой-либо способ удалить ранее добавленные записи в конкретном сеансе в flask?

#python #flask #sqlalchemy

#python #flask #sqlalchemy

Вопрос:

Здесь при выполнении приведенного ниже кода запись 1 была сохранена в db, и возникла проблема с record2, поскольку мы ожидаем, что role_id является целым числом, но получили строку, так есть ли какой-либо способ, которым я мог бы удалить record1 из db, поскольку конечная точка не выполняется успешно

 class First(Resource):
    def get(self):
        try:
            record1 = UserModel(username='xxx',password='yyyy')
            record1.save_to_db()
            record2 = RoleModel(role_id='aaa')
            record2.save_to_db()
        except:
            db.session.rollback()
        finally:
            db.session.close()

 

Комментарии:

1. Откат должен применяться к собранным операциям с начала текущей транзакции. Только вызов commit или flush завершает соответствующую транзакцию. Если здесь что-то пойдет не так, вся транзакция будет отозвана путем вызова rollback . Посмотрите здесь и здесь . Таким образом, вы можете изменить save_to_db() функцию так, чтобы объект добавлялся в сеанс, но фиксация опущена в зависимости от переданного логического аргумента.

2. Спасибо за информацию, которую она мне помогла, я изменил код в save_to_db(), и это сработало для меня.