假设我有一个包含100000个条目的表,但我这样做:
a = model.object.all()[:10]
SQL会将请求限制为10还是Django会生成一个SQL来获取所有表并向我提供10个条目?
这可能比Django更多的是Python问题,但我想确保我没有做错事。
答案 0 :(得分:5)
Django将使用SQL LIMIT。
class M(models.Model):
pass
...
print M.objects.all()[:10].query
# SELECT "app_m"."id" FROM "app_m" LIMIT 10