Django 2.1 / PostgreSQL-我可以防止删除模型对象吗?

时间:2019-03-26 14:01:07

标签: django database postgresql django-models

过去,对此有一些疑问,但是随着Django的增长,有许多新的数据库功能。

我正在寻找一种防止任何人从任何地方删除model的方法。

我有一个模型Product,并且我不希望从数据库中删除产品。

我知道覆盖delete有时是一个好方法,但是我想在database级别上这样做,因此没有机会从shell_plus或任何其他来源中删除它。

我认为在Postgres中,有一种方法:

CREATE RULE product_del_protect AS ON DELETE TO product DO INSTEAD NOTHING;

但是我想通过Django进行操作,因此每个迁移的数据库都会受到影响。

也许可以通过model或自定义migration来做到这一点。

更好的是引发一个错误。

0 个答案:

没有答案