Как удалить запись по id в колбе-SQLAlchemy


Я 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() метод.

спасибо!

2 62

2 ответа:

ты можешь это сделать,

User.query.filter_by(id=123).delete()

или

User.query.filter(User.id == 123).delete()

Edit:

обязательно зафиксируйте для delete() вступили в силу.

просто хочу поделиться другой вариант:

# mark two objects to be deleted
session.delete(obj1)
session.delete(obj2)

# commit (or flush)
session.commit()

http://docs.sqlalchemy.org/en/latest/orm/session_basics.html#deleting

в этом примере, следующие коды должны отлично работает:

obj=User.query.filter_by(id=123).one()
session.delete(obj)
session.commit()