Python Django简单历史删除模型删除时的所有历史
使用django simple history,如果对象本身被删除,是否有方法删除与该对象关联的所有历史?例如,如果我有一个用户模型:Python Django简单历史删除模型删除时的所有历史,python,django,django-simple-history,Python,Django,Django Simple History,使用django simple history,如果对象本身被删除,是否有方法删除与该对象关联的所有历史?例如,如果我有一个用户模型: User.objects.filter(id=to_delete_id).delete() 该查询将删除该用户,但不会删除所有历史记录,我希望节省数据成本。是否有办法在删除时自动删除该特定用户的所有历史记录,或者我必须这样做: User.objects.filter(id=to_delete_id).delete() User.history.filter(i
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()
从文档中:
在某些情况下,您可能需要删除所有历史记录
删除主记录时的记录。这可以通过以下方式实现:
设置cascade\u delete\u history=True
class Poll(models.Model):
question = models.CharField(max_length=200)
history = HistoricalRecords(cascade_delete_history=True)