是否可以在此命令中显示 SQL 查询:python manage.py shell_plus --print-sql
但在 Jupyter Notebook 中?
我试过这个命令python manage.py shell_plus --notebook --print-sql
,但没有奏效。
是否可以在此命令中显示 SQL 查询:python manage.py shell_plus --print-sql
但在 Jupyter Notebook 中?
我试过这个命令python manage.py shell_plus --notebook --print-sql
,但没有奏效。
您看不到 SQL 查询可能是 Django Extensions 中的一个错误。几个版本前,这里有人问如何在 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'
)