0

100000 エントリのテーブルがあると仮定しますが、私はそれをやっています:

a = model.object.all()[:10]

SQL はリクエストを 10 に制限しますか、それとも Django は SQL を生成してすべてのテーブルを取得し、10 個のエントリを提供しますか?

これはおそらく Django よりも Python に関する質問ですが、何か間違ったことをしていないことを確認したいと思います。

4

1 に答える 1

5

Django は SQL LIMIT を使用します。


class M(models.Model):
    pass

... 

print M.objects.all()[:10].query
# SELECT "app_m"."id" FROM "app_m" LIMIT 10
于 2013-04-19T22:18:50.377 に答える