【发布时间】:2013-11-22 21:25:04
【问题描述】:
所以QuerySets 是“懒惰的”并且只在某些情况下运行(repr、list 等)。我创建了一个自定义 QuerySet 来进行许多查询,但这些最终可能会拥有数百万个项目! 这比我想返回的要多得多。
返回已评估的QuerySet 时,结果不应超过 25 个!现在我知道我可以做到以下几点:
first = example.objects.filter(...)
last = first.filter(...)
result = last[:25]
#do stuff with result
但是我将使用example 对象进行很多查询,我觉得没有必要使用result = last[:25] 行。 有没有办法指定QuerySet 的返回方式?
如果有,我该如何更改它,以便 每当评估 QuerySet 时它只返回 QuerySet 中的第一个 x 项目,在这种情况下,@ 987654331@
重要提示:
切片必须在评估中,因为这样我可以在没有有限结果的情况下链接查询,但是当我在评估时返回结果时,它的最大值为x
【问题讨论】:
标签: python django customization django-queryset