2016-06-17 88 views
0

我有一個既有發佈模式又有願望列表模型的應用程序。用戶創建發佈和願望清單對象,並假設他們刪除這些對象時意味着他們成功購買或出售任何物品。Django - 如何統計模型中發生的刪除次數?

我想持續統計每個模型刪除的對象數量,我不知道該怎麼做?

這樣我就可以跟蹤客戶的成功程度。

任何建議將不勝感激。

回答

2

你有很多方法可以做到這一點:

  1. 實施的審計機制;使用任何數量的audit applications available

  2. 從django 1.9開始,delete()方法returns the number of objects deleted。您可以將此值存儲在單獨的模型中並進行跟蹤。

  3. 不要實際刪除,而要實施「軟刪除」,這是一種標記形式,它將記錄標記爲已刪除但不會將其從表格中刪除。然後,您可以添加一個附加字段來跟蹤您想要跟蹤刪除選項的任何元數據。實現這個最簡單的方法是在模型上覆蓋delete()

+0

我正在查看審覈申請,謝謝。 – Programmingjoe

1

一個解決方案是從不硬刪除任何對象,但在模型中保留一個名爲「is_deleted」的布爾值。這樣,您可以計算已刪除對象的數量,並且還可以計算已刪除對象的特定元素。您可能想要覆蓋delete()功能,請參閱this SO question如何執行此操作:

當然,您必須存儲元素。另外,有時刪除應該級聯。例如你可以使用圖書館像django-safedeletedjango-softdelete