总结:
- filter和all()
MODEL.objects.flter().query
- 所有的.
from django.db import connection
connection.queries
- 清除现有的queries缓存
from django.db import reset_queries
reset_queries()
法一:(只适用于filter和all, 也就是说只有queryset才有query
)
from core.models import Province
print Province.objects.all().query
# SELECT `core_province`.`id`, `core_province`.`name`, `core_province`.`code` FROM `core_province`
法二(所有的语句):
from core.models import Province
from django.db import connection
p = Province(name='FuJian', code='0371')
>>> p.save()
>>> print connection.queries
该方法会打印出所有执行过的sql语句.
注:如果要查看sql的时候,有太多的历史,可以用一下方法清除缓存
from django.db import reset_queries
reset_queries()