执行逻辑/软删除记录(即设置一个表明记录被删除的标志)而不是实际或物理删除记录的优点是什么?
这是常见做法吗?
这样安全吗?
我已经设置了两个表:
CREATE TABLE A
(
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name TEXT
);
CREATE TABLE B
(
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
id2 INTEGER,
book TEXT,
FOREIGN KEY(id2) REFERENCES A(id)
);
Run Code Online (Sandbox Code Playgroud)
插入数据后A,它看起来像这样:
1 John
2 Amy
3 Peter
Run Code Online (Sandbox Code Playgroud)
插入数据后B,它看起来像这样:
1 1 Lord of the Rings
2 1 Catch 22
3 2 Sum of All Fears
4 3 Hunt for Red October
Run Code Online (Sandbox Code Playgroud)
然后我执行以下语句:
delete from a where id=1;
Run Code Online (Sandbox Code Playgroud)
我得到以下内容: "Error: foreign key constraint …
我是 django 的新手,我正在尝试制作一个 Web 应用程序。我有这个页面页面图像,我想在按下删除按钮时删除一篇文章。我怎样才能做到这一点?这是我的“发布”模式:
class Post(models.Model):
created_date = models.DateTimeField()
title = models.CharField(max_length=100)
profile_image = models.ImageField(upload_to='poze', blank=True, null=True)
text = models.CharField(max_length=1000, default='Nimic', blank=True)
user = models.ForeignKey(UserProfile, on_delete=models.CASCADE)Run Code Online (Sandbox Code Playgroud)
我一直在寻找删除方法,但我总是发现只有表单的方法并且我不使用表单。谢谢你。