我有一个django模型,我想保留最新的40个对象。
我尝试了以下代码来执行此操作
delete = model.count() - 40
model.objects.all[:delete].delete()
我收到错误"无法使用'限制'或者'抵消'删除。"尽管如此。
有人可以建议这样做吗?
答案 0 :(得分:2)
不漂亮但有效:
ids = MyModel.objects.order_by("-pk").values_list("pk", flat=True)[:40]
MyModel.objects.exclude(pk__in=list(ids)).delete()