在Flask-SQLAlchemy:如何删除一个记录的id?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (115)

我有users我的MySQL数据库中的表:idnameage字段

我如何删除某些记录id?

现在我使用以下代码:

user = User.query.get(id)
db.session.delete(user)
db.session.commit()

但我不想在删除操作之前进行任何查询。有什么办法吗?我知道,我可以用db.engine.execute("delete from users where id=..."),但我想用delete()方法。

提问于
用户回答回答于

你能做到的

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

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

确保承诺delete()才能生效。

用户回答回答于

我只想分享另一个选择:

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

# commit (or flush)
session.commit()

在本例中,下列代码应正常工作:

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

扫码关注云+社区