ValuesQuerySet是一个评估形式的queryset?

时间:2015-03-08 12:17:47

标签: django django-queryset

当您对查询集执行某些操作(例如len或切片)时,您会点击DB并对查询进行评估。

从已评估的values() or values_list()返回的ValuesQuerySet是什么? 即它已经命中了DB吗?

1 个答案:

答案 0 :(得分:0)

不,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