我有一个包含发布和心愿单模型的应用程序。用户创建过帐和愿望清单对象,并假设他们删除这些对象,这意味着他们成功购买或出售任何项目。
我想连续计算每个模型删除的对象数量,我不知道该怎么做?
通过这种方式,我可以跟踪客户的成功程度。
非常感谢任何建议。
答案 0 :(得分:2)
你有很多方法可以做到这一点:
实施审计机制;使用任意数量的audit applications available。
从django 1.9开始,delete()
方法returns the number of objects deleted。您可以将此值存储在单独的模型中并跟踪它。
实际上并没有删除,而是实施了"软删除"这是一种标志形式,将记录标记为已删除但未将其从表中删除。然后,您可以添加其他字段以跟踪要为删除选项跟踪的任何元数据。实现此目的的最简单方法是覆盖模型上的delete()
。
答案 1 :(得分:1)
一种解决方案是永远不要删除任何对象,但保留一个名为" is_deleted"的布尔值。在你的模型中。这样,您可以计算已删除对象的数量,还可以计算已删除对象的特定元素。您可能希望覆盖delete()
功能,请参阅this SO question了解如何执行此操作:
下行当然是您必须存储元素。此外,有时删除应该级联。例如,您可以使用django-safedelete或django-softdelete
等库