【发布时间】:2014-07-25 08:09:53
【问题描述】:
我使用的是 Django 1.6.5 并打开了 MySQL 的通用查询日志,所以我可以看到 sql 命中 MySQL。
而且我注意到在 Django 的 QuerySet 中指定更大的限制不起作用:
>>> from blog.models import Author
>>> len(Author.objects.filter(pk__gt=0)[0:999])
>>> len(Author.objects.all()[0:999])
MySQL 的一般日志显示两个查询都有LIMIT 21。
但是小于 21 的限制会起作用,例如len(Author.objects.all()[0:10]) 将使用 LIMIT 10 创建一个 sql。
这是为什么呢?有什么需要配置的吗?
【问题讨论】:
-
那只表示数据库中有21个条目,注意slice不会报错。
标签: python django django-models django-orm