Assegure-se que sua configuração do Django DEBUG está configurada para True. Então faça isso:
>>> 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” só está disponível se DEBUG for True. É uma lista de dicionários em ordem de execução da querie. Cada dicionário possui o seguinte:
sql - A instrução SQL bruta
time - Quanto tempo a instrução levou para ser executada, em segundos.
connection.queries incluem todas as instruções SQL - INSERTs, UPDATEs, SELECTs etc. Cada vez que seu aplicativo atinge o banco de dados a consulta será gravada.
Se você estiver usando multiple databases, você pode usar a mesma interface em cada membro do dicionário de conexões:
>>> from django.db import connections
>>> connections["my_db_alias"].queries
Se você precisar limpar uma lista de consulta em qualquer ponto das suas funções, chame o método reset_queries(), dessa maneira:
from django.db import reset_queries
reset_queries()
Sim. Veja a documentação: Integrando com um banco de dados legado.
Dê uma olhada no suporte do Django para migrações de schema.
Se você não se importa de limpar os dados, o utilitário manage.py do seu projeto tem uma opção flush para redefinir o banco de dados para o estado em que estava imediatamente depois que o migrate foi executado.
Partially. See Composite primary keys.
Os bancos de dados NoSQL não são oficialmente suportados pelo Django. Há, entretanto, um número amplo de projetos e forks que permitem as funcionalidades do NoSQL no Django.
Você pode olhar na página wiki - que discute alguns projetos.
Nós tentamos evitar ao adicionar casos excepcionais ao código do Django para acomodar todas as opções específicas de cada banco de dados, como: tipo de tabela e etc. . Se você quiser usar qualquer uma destas opções específicas crie uma rotina de migração com a classe RunSQL contendo a instrução ALTER TABLE e realizando a operação que você deseja.
Por exemplo, se você está usando MySQL e quiser que suas tabelas usem a tabela do tipo MyISAM, use a seguinte instrução SQL:
ALTER TABLE myapp_mytable ENGINE=MyISAM;
ago. 05, 2026