【发布时间】:2020-08-03 10:11:08
【问题描述】:
我在settings.py 文件中有DEBUD = True。我用 django 配置了MySQL 数据库。我在courses/models.py 中有一个Course 模型。在courses/views.py,我有:
@api_view(['GET'])
def courses_list(request):
courses = Course.objects.all()
serializer = CourseSerializer(courses, many=True)
return Response(serializer.data)
现在,如果我向 Postman 提出请求以点击此视图,我认为必须执行一些像 SELECT * FROM COURSES 这样的查询。当我向某个后端 URL 发出请求时,如何查看执行了哪些查询?
我也尝试过from django.db import connection,如here 所述,但得到了这样的空数组:
>>> from django.db import connection
>>> connection.queries
[]
请帮我实现我想要的。
【问题讨论】:
-
如果你在一个单独的shell中运行它,那么它当然不会包含另一个正在运行的程序的查询。答案涉及您在 shell 本身中执行的查询。
-
哦,我明白了。那我该怎么做呢?如果在任何文件中,那么如何?你能帮忙吗?谢谢。
标签: python django django-rest-framework django-views django-orm