gpt4 book ai didi

django - 如何在 Django 模型中轻松地将记录标记为已删除,而不是实际删除它们?

转载 作者:行者123 更新时间:2023-12-01 23:22:12 26 4
gpt4 key购买 nike

我不想删除 Django 应用程序中的记录,而是只想将它们标记为“已删除”,并将它们隐藏在我的事件查询中。我这样做的主要原因是为用户提供取消删除选项,以防他们意外删除记录(某些后端审核跟踪也可能需要这些记录。)

有很多外键关系,因此当我将记录标记为已删除时,我还必须将此删除标志“级联”到这些记录。我应该使用什么工具、现有项目或方法来做到这一点?

最佳答案

警告:这是一个旧答案,似乎文档建议现在不要这样做:https://docs.djangoproject.com/en/dev/topics/db/managers/#don-t-filter-away-any-results-in-this-type-of-manager-subclass

Django 开箱即用地提供了您正在寻找的确切机制。

您可以更改用于通过相关对象进行访问的管理器。如果您的新自定义管理器在 bool 字段上筛选对象,则标记为非事件的对象将不会显示在您的请求中。

请参阅此处了解更多详细信息: http://docs.djangoproject.com/en/dev/topics/db/managers/#using-managers-for-related-object-access

关于django - 如何在 Django 模型中轻松地将记录标记为已删除,而不是实际删除它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/744084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com