3

我使用下面的查询从我的数据库中检索 10 个项目

    itemobjects = Items.objects.all()[:10]

有一个更好的方法吗?因为当我的数据库中的项目数量增加时,上述查询非常慢,大约需要 1-2 秒

4

1 回答 1

4

这根本不需要很长时间,即使在大桌子上也是如此。Meta您是否在模型的类上定义了默认排序?也许它在默认情况下对非索引字段进行排序,这将是您看到的减速的原因。

无论如何,要获取最新条目,请按主键(保证被索引)对它们进行排序:

itemobjects = Items.objects.all().order_by('-pk')[:10]

/edit:只是一个提示:给模型类提供单数名称是一种惯例,例如,Item而不是Items.

于 2012-05-08T09:55:36.643 回答