Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek je kompletní settings.py konfigurační referencí pro mssql-django databázový backend Django. Konfigurujte připojení k SQL Server úpravou slovníku DATABASES ve vašem souboru projektu settings.py Django.
Minimální konfigurace
Následující příklad ukazuje minimální požadovanou konfiguraci:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 18 for SQL Server",
},
},
}
Nastavení připojení k databázi
Tato nastavení konfigurují DATABASES vaše připojení. Většina jsou standardní nastavení Django; Jsou uvedeny výjimky:
| Setting | Typ | Description |
|---|---|---|
ENGINE |
String | Musí být "mssql". |
NAME |
String | Název databáze. Povinné. |
HOST |
String | Název serveru nebo IP adresa. Používejte "server\\instance" formát pro pojmenované instance. |
PORT |
String | Port instance serveru. Prázdný řetězec znamená výchozí port. |
USER |
String | Uživatelské jméno databáze. Pokud ne, používá se Windows Integrated Security. |
PASSWORD |
String | Uživatelské heslo k databázi. |
AUTOCOMMIT |
logický | Nastavte na False deaktivovat správu transakcí v Django. Výchozí hodnota je True. |
Trusted_Connection |
String | Nastavte ("yes"výchozí) na Windows Integrated Security, když USER není k dispozici. Když USER jsou nastaveny obě PASSWORD a , tyto přihlašovací údaje mají přednost a jsou ignorovány Trusted_Connection . Nastavte tak, "no" aby bylo Windows authentication explicitně zakázáno. Je to rozšíření mssql-django , ne standardní nastavení Django. |
TOKEN |
String | Přístupový token pro autentizaci Microsoft Entra (například přes azure.identity). Je to rozšíření mssql-django , ne standardní nastavení Django. |
TESTOVÁ nastavení
Tato nastavení řídí testovací databázi používanou testovacím runnerem Django:
| Setting | Typ | Description |
|---|---|---|
NAME |
String | Název databáze testu. Výchozí hodnota: "test_" + NAME. |
COLLATION |
String | Kolace pro testovací databázi. Výchozí: výchozí instance. |
DEPENDENCIES |
List | Závislosti databáze v pořadí vzniku. |
MIRROR |
String | Alias databáze pro zrcadlení během testování. |
Example:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 18 for SQL Server",
},
"TEST": {
"NAME": "test_mydb",
"COLLATION": "SQL_Latin1_General_CP1_CI_AS",
},
},
}
MOŽNOSTI
Slovník OPTIONS poskytuje konfiguraci specifickou pro backend. Vložte tato nastavení do slovníku DATABASES["default"]["OPTIONS"] :
| Option | Typ | Default | Description |
|---|---|---|---|
driver |
String | "ODBC Driver 18 for SQL Server" |
Použít ODBC ovladač. Automaticky se vrátí na ovladač 17, pokud není nainstalován 18. |
isolation_level |
String | None |
Úroveň izolace transakcí: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SNAPSHOTnebo SERIALIZABLE. |
dsn |
String | None |
Jmenuje se DSN. Lze použít místo .HOST |
host_is_server |
logický | False |
Nastavte na použitíPORTHOST/přímo True s FreeTDS místo názvu dataserveru.freetds.conf |
unicode_results |
logický | False |
Aktivujte funkci pyodbc unicode_results . |
extra_params |
String | None |
Další parametry ODBC ve formátu "param=value;param=value" . Používá se pro autentizaci Microsoft Entra. |
collation |
String | None |
Třídění pro vyhledávání textových polí (například "Chinese_PRC_CI_AS"). |
connection_timeout |
Integer | 0 |
Vypršení připojení během několika sekund (0 = zakázáno). |
connection_retries |
Integer | 5 |
Počet pokusů o opětovné připojení k připojení. |
connection_retry_backoff_time |
Integer | 5 |
Čas na odstoupení během několika sekund mezi pokusy. |
query_timeout |
Integer | 0 |
Časový limit dotazu během několika sekund (0 = zakázáno). |
setencoding / setdecoding |
List | None |
Konfiguracekódovánípyodbc / . |
return_rows_bulk_insert |
logický | False |
Povolte vracející řádky z hromadné vložky. Musí to tak být False , pokud stoly mají spouštěče. |
datefirst |
Integer | 7 |
První den v týdnu pro SET DATEFIRST.
7je neděle (výchozí SQL Server), 1 je pondělí. |
driver_needs_utf8 |
Možnost pouze přítomnosti | Nenastaveno | Povolte kódování UTF-8 pro ovladač ODBC. Tato možnost je aktivována, když je klíč přítomen v ; OPTIONSsamotná hodnota je ignorována. Obvykle je potřeba u FreeTDS nebo starších unixODBC konfigurací, které výchozí jsou na Latin-1. |
driver_charset |
String | None |
Explicitní znaková sada pro ovladač ODBC (například "UTF-8"). Použijte s tím driver_needs_utf8 , když ovladač automaticky nedetekuje kódování. |
connection_recovery_interval_msec |
Plovat | 0.0 |
Milisekundy na počkání mezi pokusy o opakování v backendové smyčce obnovy připojení po chybě v síti. Zvyšte tuto hodnotu pro nestabilní síťové linky. |
Příklad s běžnými možnostmi:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>.database.windows.net",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 18 for SQL Server",
"extra_params": "Encrypt=yes",
"isolation_level": "READ COMMITTED",
"connection_timeout": 30,
"connection_retries": 3,
"connection_retry_backoff_time": 5,
"query_timeout": 60,
},
},
}
Nastavení specifická pro backend
Toto nastavení je umístěno na úrovni modulu v , settings.pymimo slovník:DATABASES
| Setting | Typ | Default | Description |
|---|---|---|---|
DATABASE_CONNECTION_POOLING |
logický | True |
Nastavte na False vypnutí poolování připojení v pyodbc. |
Example:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 18 for SQL Server",
},
},
}
# Set this to False to disable pyodbc's connection pooling
DATABASE_CONNECTION_POOLING = False