我可以设置Django模型偏执狂吗,就像在Sequelize.js中一样

时间:2019-02-14 03:51:33

标签: django sequelize.js django-orm

// don't delete database entries but set the newly added attribute deletedAt
// to the current date (when deletion was done). paranoid will only work if
// timestamps are enabled
paranoid: true,

我使用了Sequelize.js ORM,并且像上面的描述一样存在选项偏执狂。 (来自 Sequelize.js tutorial docs

我想让我的Django模型偏执。

我用诸如“ django paranoid”之类的关键字在Google上搜索,但是我找不到信息。选项“偏执狂”的通用名称是什么,我如何使Django模型像选项一样起作用? 还是应该让mixin或中间件使偏执?

1 个答案:

答案 0 :(得分:2)

当然,您可以使用django-paranoid

该库将添加Deleted_at,updated_at和created_at字段,这也是一种软删除方法。

您只需要扩展为使用ParanoidModel的模型即可。

要查看已删除的对象,可以使用objects_with_deleted:

MyModel.objects_with_deleted.last()

如果要硬删除对象,则只应使用True参数:

m = MyModel.objects.last()
m.delete(True)