python - Django简单历史记录删除模型删除上的所有历史记录

标签 python django django-simple-history

使用django简单历史记录,如果对象本身被删除,有没有办法删除与该对象关联的所有历史记录?例如,如果我有一个 User 模型:

User.objects.filter(id=to_delete_id).delete()

该查询将删除该用户,但不会删除所有历史记录,我希望节省数据成本。有没有办法在删除时自动删除该特定用户的所有历史记录,或者我必须这样做:

User.objects.filter(id=to_delete_id).delete()
User.history.filter(id=to_delete_id).delete()

谢谢。

最佳答案

我想我找到了一个解决方案,请告诉我这是否由于某些性能原因而不好:

重写用户的delete()方法:

class User(...):
    ...
    def delete(self):
        self.history.filter().delete()
        super(User, self).delete()

关于python - Django简单历史记录删除模型删除上的所有历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37648419/

相关文章:

python - 使用 scikit learn 得到奇怪的 F1 分数结果

python 情节9: how to change color scale

django Rest Framework - 将扩展用户数据保存到数据库

django - 如何使用 django-simple-history 恢复更改,特别是删除

python - django-simple-history 从 python shell 跟踪用户

python - 如何在 Django 管理站点中显示 django-simple-history 的历史表?

python - Numba - nopython 模式是否支持元组列表?

python - 字符串到日期 - 格式字符串问题

python - 如何将 STL、网格导入 Django views.py 或 models.py

python - 使用 Django 找不到页面 (404)