我知道你可以输出SQL来查看创建的表。Django是否可以输出用于任何查询的SQL,比如:
Protocols.objects.filter(active=False)
我在文档中找不到这个,所以希望有人能把它们指向我,如果Django真的能做到的话。
vjrehmav1#
查看Django常见问题解答:我怎样才能看到Django正在运行的原始SQL查询?:
>>> from django.db import connection >>> connection.queries = [] >>> Protocols.objects.filter(active=False) >>> print(connection.queries)
3pvhb19x2#
可以。您需要确保设置文件中包含DEBUG=True你可以看到哪些sql查询已经被执行了...
DEBUG=True
>>> from django.db import connection >>> connection.queries
显然,您需要执行一些查询才能在这里看到它们。要查看交付特定QuerySet所执行的操作,可以执行以下操作
str(MyModel.objects.filter(myvar__gte=15).query)
此处记录http://docs.djangoproject.com/en/dev/faq/models/
7vhp5slm3#
我发现Django debug toolbar是非常宝贵的,还有.as_sql()用于代码内显示内容(请参阅this SO post以获得注解,这是一个很好的说明)
3条答案
按热度按时间vjrehmav1#
查看Django常见问题解答:我怎样才能看到Django正在运行的原始SQL查询?:
3pvhb19x2#
可以。您需要确保设置文件中包含
DEBUG=True
你可以看到哪些sql查询已经被执行了...
显然,您需要执行一些查询才能在这里看到它们。
要查看交付特定QuerySet所执行的操作,可以执行以下操作
此处记录http://docs.djangoproject.com/en/dev/faq/models/
7vhp5slm3#
我发现Django debug toolbar是非常宝贵的,还有.as_sql()用于代码内显示内容(请参阅this SO post以获得注解,这是一个很好的说明)