2012-11-06 86 views
4

如何從數據庫中刪除特定數量的條目? 我做了這樣的事情django數據庫刪除特定條目數

EntriesToDelete=Statusmessages.objects.filter(time__lt=date)[:30000] 
EntriesToDelete.delete() 

,但我得到它說的錯誤: AssertionError. Cannot use 'limit' or 'offset' with delete

如何指定要刪除的條目數量。

回答

13

你可以做這樣的:

Statusmessages.objects.filter(pk__in=Statusmessages.objects.filter(time__lt=date).values_list('pk')[:30000]).delete() 
+0

我用類似的東西掛繞在它保持防止DB的內存使用量從刪除行的數以百萬計的時候去瘋狂 – odedbd