我可以设置像 Sequelize.js 中那样的 Django 模型偏执狂吗

can i set django model paranoid which acts like in Sequelize.js

// 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,出现了上面描述的option paranoid。 (来自 Sequelize.js tutorial docs

我想让我的 Django 模型变得偏执。

我用 "django paranoid" 之类的关键字进行了搜索,但找不到信息。选项 "paranoid" 的通用名称是什么?如何让我的 Django 模型像选项一样工作? 或者我应该制作 mixin 或中间件来制造偏执狂?

当然可以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)