Asegúrate de que la configuración de Django DEBUG esté establecida en True. Luego haz esto:
>>> from django.db import connection
>>> connection.queries
[{'sql': 'SELECT polls_polls.id, polls_polls.question, polls_polls.pub_date FROM polls_polls',
'time': '0.002'}]
connection.queries está disponible solo si se establece DEBUG en True. Es una lista de diccionarios en el orden de ejecución de las consultas. Cada diccionario tiene lo siguiente:
sql - La sentencia SQL bruta
time - Durante cuánto tiempo se ejecutó la sentencia, en segundos.
connection.queries incluye todos los sentencias SQL – INSERT, UPDATE, SELECT, etc. Cada vez que tu aplicación accede a la base de datos, se grabará la consulta.
Si estás utilizando múltiples bases de datos (bases de datos múltiples), puedes utilizar la misma interfaz en cada miembro del diccionario connections.
>>> from django.db import connections
>>> connections["my_db_alias"].queries
Si necesitas borrar la lista de consultas manualmente en algún punto de tus funciones, llama a reset_queries(), como se muestra aquí:
from django.db import reset_queries
reset_queries()
Sí. Consulta:doc:Integrando con una base de datos heredada <howto/legacy-databases>.
Mira la documentación de Django sobre las migraciones de esquema: schema migrations.
Si no te importa borrar datos, la utilidad de tu proyecto manage.py tiene una opción flush para restablecer la base de datos al estado en que se encontraba inmediatamente después de ejecutar migrate.
Solo se admiten claves primarias de una sola columna.
Pero esto no es un problema en la práctica, porque no hay nada que impida agregar otras restricciones (utilizando la opción de modelo unique_together o creando la restricción directamente en tu base de datos), y aplicar la unicidad a ese nivel. Se necesitan claves primarias de una sola columna para cosas como la interfaz administrativa funcionen; por ejemplo, se necesita un solo valor para especificar un objeto para editar o eliminar.
Bases de datos NoSQL no están oficialmente soportadas por Django en sí mismo. Sin embargo, existen un número de proyectos laterales y bifurcaciones que permiten la funcionalidad NoSQL en Django.
Puedes echar un vistazo a la **página de la wiki**_ que discute algunos proyectos.
Evitamos agregar casos especiales en el código de Django para adaptarnos a todas las opciones específicas del motor de base de datos, como el tipo de tabla, etc. Si deseas utilizar alguna de estas opciones, crea una migración con una operación RunSQL que contenga sentencias ALTER TABLE que realicen lo que desees hacer.
Ejemplo de cómo utilizar el tipo de tabla MyISAM en MySQL. Si deseas que tus tablas utilicen el tipo de tabla MyISAM, utiliza la siguiente sentencia SQL:
ALTER TABLE myapp_mytable ENGINE=MyISAM;
may 31, 2026