首页 > 解决方案 > 如何使用烧瓶从表 sqlalchemy 中删除特定行?

问题描述

我想删除 db.table 中的特定行我有这些代码

num_rows_deleted=db.session.query(Orders).filter(Orders.c.id==id).first()
db.session.delete(num_rows_deleted)
db.session.commit()

Orders = db.Table('orders', db.Model.metadata,
            db.Column('id', db.Integer,primary_key=True),
              db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
              db.Column('book_id', db.Integer, db.ForeignKey('books.id')),
              db.Column('quantity', db.Integer,default=1, nullable=False),
              db.Column('created_at',db.DateTime, default=datetime.datetime.now),
            db.Column('updated_at',db.DateTime, onupdate=datetime.datetime.now))

这是桌子

但我收到这些错误,我不知道如何修复它 sqlalchemy.orm.exc.UnmappedInstanceError: Class 'sqlalchemy.util._collections.result' is not mapped

标签: pythonsqlalchemy

解决方案


你可以试试这个

row_to_delete = db.session.query(Orders).filter(Orders.id==id).one()
db.session.delete(row_to_delete)
db.session.commit()

推荐阅读