小编rud*_*bya的帖子

SQLAlchemy 引发完整性错误,“表上的更新或删除违反了外键约束”

我正在尝试在连接关系上设置级联删除。但是,每当我尝试删除应用程序中的帖子时,我都会收到一条错误消息,指出“表“帖子”上的更新或删除违反了外键约束””这是错误消息的照片:

错误信息

这是我的代码:

class Post(db.Model):
    """Blog posts"""

    __tablename__ = "posts"

    id = db.Column(db.Integer,
                   primary_key=True,
                   autoincrement=True)
    title = db.Column(db.String(25),
                      nullable=False)
    content = db.Column(db.String(500),
                        nullable=False)
    created_at = db.Column(db.DateTime,
                           default=db.func.current_timestamp())
    user_table = db.Column(db.Integer, 
                           db.ForeignKey('users.id',
                                         ondelete='CASCADE'))

    tags = db.relationship('Tag', 
                            secondary="post_tags", 
                            back_populates="posts",
                            cascade="all, delete"
                            )


class Tag(db.Model):

    __tablename__ = "tags"

    id = db.Column(db.Integer,
                       primary_key=True,
                       autoincrement=True)
    name = db.Column(db.String,
                        unique=True)
    posts = db.relationship('Post',
                            secondary="post_tags",
                            back_populates="tags")
    
 

class Post_Tag(db.Model):

    __tablename__ = "post_tags"

    post_id = db.Column(db.Integer,
                        db.ForeignKey('posts.id'), primary_key=True)
    
    tag_id = db.Column(db.Integer,
                        db.ForeignKey('tags.id'), primary_key=True)


Run Code Online (Sandbox Code Playgroud)

根据我查看过的文档和其他问题,我似乎设置正确。我在这里做错了什么?

更新 我可以删除标签,但无法删除帖子

sqlalchemy

2
推荐指数
1
解决办法
2068
查看次数

标签 统计

sqlalchemy ×1