小编Dun*_*ogh的帖子

如何在模型中使用"删除限制"?

我已经想出如何使用"删除级联",但不清楚如何做"删除限制"约束.我想要实现的是无法删除具有子记录或子记录的父级.

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    fullname = db.Column(db.String)
    password = db.Column(db.String)

    posts = db.relationship("Post", backref='user', cascade="all, delete, delete-orphan")

class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String, nullable=False)
    description = db.Column(db.String, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id', onupdate="CASCADE", ondelete="CASCADE"))

CREATE TABLE posts (
    id INTEGER NOT NULL,
    title VARCHAR NOT NULL,
    description VARCHAR NOT NULL,
    user_id INTEGER,
    PRIMARY KEY (id),
    FOREIGN KEY(user_id) REFERENCES users (id) ON DELETE RESTRICT ON UPDATE CASCADE
);

CREATE TABLE users ( …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask

4
推荐指数
1
解决办法
1257
查看次数

标签 统计

flask ×1

python ×1

sqlalchemy ×1