Django QuerySet的明确限制

Tim*_*all 5 python django django-queryset

可以通过执行以下操作来限制QuerySet上的结果:

qs = MyModel.objects.all()[:3]
Run Code Online (Sandbox Code Playgroud)

由于QuerySet通常是懒惰地进行评估,是否可以从qs迭代之前删除此限制?

我希望能有一些直接的东西qs = qs[:],qs = qs[0:]但不能工作.到目前为止,我唯一可以开始工作的是,qs.query.clear_limits()但我不确定这是否是公共API的一部分(我不得不通过Django源代码来找到它).

duk*_*ody 0

正如 Alasdair 所说,似乎没有一个记录在案的公共 API 可以清除这些限制。可能是因为这不是一件很常见的事情。

无论如何,由于它没有在任何地方记录,我将其视为“内部”,并且如有更改,恕不另行通知。