Python django数据库删除特定数量的条目
如何从数据库中删除特定数量的条目? 我做了这样的事Python django数据库删除特定数量的条目,python,django,django-database,Python,Django,Django Database,如何从数据库中删除特定数量的条目? 我做了这样的事 EntriesToDelete=Statusmessages.objects.filter(time__lt=date)[:30000] EntriesToDelete.delete() 但我得到一个错误,它说: AssertionError。无法将“限制”或“偏移”与删除一起使用 如何指定要删除的条目数。您可以这样做: Statusmessages.objects.filter(pk__in=Statusmessages.objects.f
EntriesToDelete=Statusmessages.objects.filter(time__lt=date)[:30000]
EntriesToDelete.delete()
但我得到一个错误,它说:
AssertionError。无法将“限制”或“偏移”与删除一起使用
如何指定要删除的条目数。您可以这样做:
Statusmessages.objects.filter(pk__in=Statusmessages.objects.filter(time__lt=date).values_list('pk')[:30000]).delete()
我使用了类似的东西并在其上循环,以防止在删除数百万行时数据库的内存使用失控。您可能还需要在值_listcall.MariaDB/Mysql中使用'flat=True',这两个值都不喜欢-您会得到
django.db.utils.NotSupportedError:(1235,“此版本的MariaDB尚不支持'LIMIT&in/ALL/ANY/SOME子查询')
。