Upewnij się, że Twoje ustawienie Django DEBUG
jest ustawione na True
. Następnie zrób to:
>>> 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
jest dostępne tylko jeśli DEBUG
jest ustawione na True
. Jest to lista słowników w kolejności wykonania zapytania. Każdy słownik zawiera:
``sql`` -- The raw SQL statement
``time`` -- How long the statement took to execute, in seconds.
connections.queries
zawiera wszystkie operacje SQL – INSERT-y, UPDATE-y, SELECT-y itp. Każde zapytanie twojej aplikacji do bazy danych zostanie zapisane.
Jeśli używasz wielu baz danych, możesz użyć tego samego interfejsu na każdym elemencie słownika connections
:
>>> from django.db import connections
>>> connections['my_db_alias'].queries
Jeśli potrzebujesz wyczyścić ręcznie listę kwerend w dowolnym momencie w swoich funkcjach, wywołaj reset_queries()
, w ten sposób:
from django.db import reset_queries
reset_queries()
Tak. Zobacz Integracja ze starszą bazą danych.
Zajrzyj do pomocy Django na temat migracji schematu
.
Jeśli chcesz wyczyścić dane, narzędzie manage.py
twojego projektu ma opcję flush
, służącą do resetowania bazy danych do stanu, w którym była bezpośrednio po wykonaniu migrate
.
Nie. Obsługiwane są jedynie jednokolumnowe klucze główne.
Ale w praktyce nie jest to problemem, ponieważ możesz dodać inne constrainty (używając opcji modelu unique_together
lub tworząc constraint bezpośrednio w bazie danych) i wymusić unikalność na tym poziomie. Jednokolumnowe klucze obce są potrzebne do funkcjonowania rzeczy takich jak interfejs admina; na przykład potrzebujesz jednej wartości, by wskazać obiekt do edycji lub usunięcia.
NoSQL-owe bazy danych nie są oficjalnie wspierane przez Django jako takie. Jednakże jest kilka projektów pobocznych oraz forków, które wprowadzają funkcjonalność NoSQL w Django.
Możesz spojrzeć na stronę wiki, która omawia niektóre projekty.
Staramy się nie dodawać do Django obsługi specyficznych dla danej bazy danych opcji, np. typu tabeli itp. Jeśli chcesz użyć takich parametrów, stwórz migrację przy użyciu klasy RunSQL
zawierającej polecenie ALTER TABLE
, które możesz dowolnie skonfigurować.
Na przykład, jeśli korzystasz z MySQL-a i chcesz skorzystać z tabel typu MyISAM, użyj następującego zapytania SQL:
ALTER TABLE myapp_mytable ENGINE=MyISAM;
gru 07, 2021