Django - 如何计算模型发生的删除次数?

时间:2016-06-17 21:54:57

标签: python django django-models

我有一个包含发布和心愿单模型的应用程序。用户创建过帐和愿望清单对象,并假设他们删除这些对象,这意味着他们成功购买或出售任何项目。

我想连续计算每个模型删除的对象数量,我不知道该怎么做?

通过这种方式,我可以跟踪客户的成功程度。

非常感谢任何建议。

2 个答案:

答案 0 :(得分:2)

你有很多方法可以做到这一点:

  1. 实施审计机制;使用任意数量的audit applications available

  2. 从django 1.9开始,delete()方法returns the number of objects deleted。您可以将此值存储在单独的模型中并跟踪它。

  3. 实际上并没有删除,而是实施了"软删除"这是一种标志形式,将记录标记为已删除但未将其从表中删除。然后,您可以添加其他字段以跟踪要为删除选项跟踪的任何元数据。实现此目的的最简单方法是覆盖模型上的delete()

答案 1 :(得分:1)

一种解决方案是永远不要删除任何对象,但保留一个名为" is_deleted"的布尔值。在你的模型中。这样,您可以计算已删除对象的数量,还可以计算已删除对象的特定元素。您可能希望覆盖delete()功能,请参阅this SO question了解如何执行此操作:

下行当然是您必须存储元素。此外,有时删除应该级联。例如,您可以使用django-safedeletedjango-softdelete

等库