Django ValuesQuerySet是queryset的一种评估形式吗?

Django ValuesQuerySet是queryset的一种评估形式吗?,django,django-queryset,Django,Django Queryset,在queryset上执行某些操作(如len或切片)时,点击DB并计算查询 ValuesQuerySet是否已从值或值列表中返回? i、 e.它是否已经命中DB?否,未评估ValuesQuerySet: >>> from app.models import * >>> from django.db import connection >>> qs = Question.objects.all().values() >>> le

在queryset上执行某些操作(如len或切片)时,点击DB并计算查询

ValuesQuerySet是否已从值或值列表中返回? i、 e.它是否已经命中DB?

否,未评估ValuesQuerySet:

>>> from app.models import *
>>> from django.db import connection
>>> qs = Question.objects.all().values()
>>> len(connection.queries) # no db hit
0
>>> v = list(qs)
>>> len(connection.queries) # db hit
1
lenconnection.queries是否返回数据库命中?是。connection.queries包含在当前连接中执行的SQL查询的列表。