我正在尝试从我的数据库中删除一些数据线。我做了级联也删除了与datarecord相关的所有内容。我现在的问题是,如果我有多个具有相同名称属性的datarecord,我想删除它们。例如,我有3个数据线,其中两个具有属性name = Max
,最后一个具有属性name = Peter
。我现在如何删除Max& s?这是我到目前为止的代码:
def delete_anw(engine):
Session = sessionmaker(bind=engine)
session = Session()
f = session.query(Anwendung).filter_by(name="Max").first()
session.delete(f)
session.commit()
此代码仅删除它找到的第一个查询。我知道这是因为first()
,但是有一个类似all()
的方法可以删除所有名称为Max的数据线吗?
答案 0 :(得分:4)
只需删除.first()
方法并将删除添加到查询本身
session.query(Anwendung).filter_by(name="Max").delete()
http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query.delete 请看这个参考
答案 1 :(得分:-2)
@ExceptionHandler(MethodArgumentNotValidException.class)
上面的代码对我来说很好。找到并删除了记录。