![](/img/trans.png)
[英]How to delete records from many-to-many (secondary) table in SQLAlchemy?
[英]Flask-SQLAlchemy: How to delete row from many-to-many secondary table with the user id
我有这两个类和一个(多对多)辅助表链接它们:
association_table = db.Table('association_table',
db.Column('project_id',db.Integer, db.ForeignKey('project.id'), primary_key=True),
db.Column('usr_id',db.Integer, db.ForeignKey('usr.id'), primary_key=True)
)
class Usr(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
full_name = db.Column(db.String(150), unique=True, nullable=False)
email = db.Column(db.String(150), unique=True, nullable=False)
password = db.Column(db.String(150), nullable=False)
projects = db.relationship('Project', secondary=association_table, lazy='subquery', backref=db.backref('usrs', lazy=True))
class Project(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(150), unique=True, nullable=False)
description = db.Column(db.String(1000))
creation_date = db.Column(db.DateTime(timezone=True), server_default=func.now())
status = db.Column(db.Boolean, nullable=False)
tickets = db.relationship('Ticket')
owner = db.Column(db.Integer, db.ForeignKey('usr.id'))
我想从 Association_table 中删除一个具有其 ID 的用户(用户不再分配给项目实例),而不删除所有其他用户。 如何使用 Flask-SQLAlchemy 做到这一点?
示例:如何在 flask-sqlalchemy 中转换以下命令?
DELETE FROM association_table WHERE usr_id = 1;
要按用户 ID 删除用户,您必须执行以下操作:
user = User.query.get(id)
db.session.delete(user)
db.session.commit()
有关更多信息,请查看此链接: How to delete a record by id in Flask-SQLAlchemy
PD:用你的表名替换User
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.