【发布时间】:2021-04-15 10:16:10
【问题描述】:
我阅读了他们说 order_by() 返回一个新 QuerySet 的文档。但是当我打印 Question.objects.order_by('-pub_date') 其中 Question 是 models.py 中的类名时,它会打印 queryset 对象。我很困惑 order_by() 实际上是返回一个新的查询集还是实际执行一个查询? 请在下面的代码中解释在 Django 中执行期间内部发生的情况?
from django.http import HttpResponse
from .models import Question
def index(request):
latest_question_list = Question.objects.order_by('-pub_date')[:5]
output = ', '.join([q.question_text for q in latest_question_list])
return HttpResponse(output)
还请解释一下上面代码中的第 5 行?
【问题讨论】:
-
您在问题发布日期之前对问题进行排序,最近的问题在前。
-
两者都有,隐含的
all,因为您不包含任何其他查询 -
但是代码中的第 5 行呢。能详细解释一下吗?