Django puede manipular directamente la base de datos usando ORM. Entonces, ¿qué pasa si queremos ver el código de la base de datos nativa usando ORM? Hay dos formas, como se indica a continuación:
una es .query
ver la sentencia SQL nativa de la sentencia después del resultado del conjunto de consultas , como se muestra en la figura. De
esta forma, puede ver directamente el SQL nativo del conjunto de consultas. Pero no puede ver la declaración sql de los objetos de conjuntos que no son de consulta. Si queremos verificar siempre la declaración SQL nativa, entonces podemos usar la segunda forma para configurar el código relevante en la configuración.
La segunda forma es configurar el archivo de la siguiente manera:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level':'DEBUG',
},
}
}
El uso también es muy simple, simplemente copie y pegue la configuración anterior directamente en el archivo settings.py.
El efecto se muestra en la figura:
puede ver la instrucción SQL nativa directamente.