前言
在使用 Django 框架开发项目中,如果想知道使用 ORM 语句操作数据库转换对应的 SQL 语句时,那么可以使用两种方式来实现
方法一
在 Django
项目的 settings.py
文件中,找到日志配置LOGGING
,没有找到日志配置项的直接复制粘贴如下代码即可
配置好之后,重新运行项目,再执行任何对数据库进行操作的 ORM 语句时,会自动将 Django 执行的原生 SQL 语句打印到 Pycharm 终端上
# 日志配置 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } }
方法二
直接在我们想查看SQL的地方,通过对象.query
,使用print
语句即可查看ORM
对应的SQL
语句了;适合临时查看场景,具体操作如下
from libs.test_app.models import BookInfo book_queryset = BookInfo.objects.filter(id__gt=2) print(book_queryset .query) # 直接打印book_queryset 对应的sql语句
注意:
.query方法,一定是一个查询集对象,否者不能使用
标签:语句,queryset,Django,ORM,SQL,query From: https://www.cnblogs.com/Durant0420/p/17542450.html