我试图删除django中Task表/模型的最后10条记录,但无法在一个查询中完成。
Task.objects.filter(type='Active').order_by('-id')[:10].delete()
上面的代码给了我错误属性错误:"list"对象没有属性"delete"。如果我做一个循环,然后对列表中的每个对象使用.delete((,那么它会调用dbn次,这是我不想要的,还有其他方法吗?
您可以使用查询集中的主键来使用pk__in=…
:进行筛选
Task.objects.filter(
pk__in=Task.objects.filter(type='Active').order_by('-id').values('pk')[:10]
).delete()