我的程序中有一个实用程序功能,用于搜索实体。它需要一个max_count参数。它返回一个QuerySet。
max_count
我希望此功能限制最大条目数。标准方法是从QuerySet中切出一部分:
return results[:max_count]
我的问题是,通过使用,利用此功能的视图会以各种方式进行排序.order_by()。这会导致异常,因为在切片后不允许重新排序。
.order_by()
是否可以不进行切片就将“ LIMIT 1000”强加到我的SQL查询中?
不要results[:max_count]在视图中,后.order_by()。不要担心从数据库请求太多,直到切片(甚至在切片之后)也不会评估查询。
results[:max_count]