我可以设置像 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)
// 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)