django数据库删除特定的条目数

arj*_*jun 8 python django django-database

如何从数据库中删除特定数量的条目?我做了这样的事

EntriesToDelete=Statusmessages.objects.filter(time__lt=date)[:30000]
EntriesToDelete.delete()
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,上面写着: AssertionError. Cannot use 'limit' or 'offset' with delete.

如何指定要删除的条目数.

jpi*_*pic 22

你可以这样做:

Statusmessages.objects.filter(pk__in=Statusmessages.objects.filter(time__lt=date).values_list('pk')[:30000]).delete()
Run Code Online (Sandbox Code Playgroud)

  • MariaDB/Mysql 都不喜欢这样 - 你会得到 ```django.db.utils.NotSupportedError: (1235, "This version of MariaDB does not support 'LIMIT & IN/ALL/ANY/SOME subquery'") ``。 (3认同)