2012-11-06 48 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