У меня есть users
таблица в базе данных MySql. Эта таблица имеет id
, name
и age
поля.
Как я могу удалить какую-то запись id
?
Сейчас я использую следующий код:
user = User.query.get(id)
db.session.delete(user)
db.session.commit()
Но я не хочу делать никаких запросов перед операцией удаления. Есть какой-либо способ сделать это? Я знаю, могу использовать db.engine.execute("delete from users where id=...")
, но хотел бы использовать delete()
метод.
db.session.commit()
в конце. где db:db = SQLAlchemy(app)
delete
это не будет каскадным, если вы полагаетесь на каскадирование в python / ORM. Вам нужно сначала запросить объект, а затем удалить .User
не существует?Просто хочу поделиться еще одним вариантом:
http://docs.sqlalchemy.org/en/latest/orm/session_basics.html#deleting
В этом примере следующие коды будут работать нормально:
источник
Другое возможное решение, особенно если вы хотите удалить пакет
источник