过去,对此有一些疑问,但是随着Django
的增长,有许多新的数据库功能。
我正在寻找一种防止任何人从任何地方删除model
的方法。
我有一个模型Product
,并且我不希望从数据库中删除产品。
我知道覆盖delete
有时是一个好方法,但是我想在database
级别上这样做,因此没有机会从shell_plus
或任何其他来源中删除它。
我认为在Postgres
中,有一种方法:
CREATE RULE product_del_protect AS ON DELETE TO product DO INSTEAD NOTHING;
但是我想通过Django
进行操作,因此每个迁移的数据库都会受到影响。
也许可以通过model
或自定义migration
来做到这一点。
更好的是引发一个错误。