是否可以像以下命令一样显示 SQL 查询:python manage.py shell_plus --print-sql
但在 Jupyter Notebook 中?
我尝试了这个命令python manage.py shell_plus --notebook --print-sql
但它不起作用。
最佳答案
这可能是 Django 扩展中的一个错误,您看不到 SQL 查询。几个版本前,有人asked here如何在 Jupyter 中禁用 SQL 打印。
作为解决方法,您可以使用 django_print_sql :
from django_print_sql import print_sql
with print_sql(count_only=False):
User.objects.count()
您甚至可能会发现控制要打印的查询比打印所有查询更好。
但我大多只是追溯打印最后一个查询:
from django import db
db.connection.queries[-1]
如果您想用 sqlparse 漂亮地打印查询,对于实用函数来说,它开始变得足够复杂:
import sqlparse
sqlparse.format(
db.connection.queries[-1]['sql'],
reindent=True,
keyword_case='upper'
)
关于django - 使用 django-extensions 插件在 jupyter 笔记本中打印 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51362648/