Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel is de volledige settings.py configuratiereferentie voor de mssql-django Django-database-backend. Configureer de SQL Server-connectiviteit door het DATABASES woordenboek in het settings.py bestand van je Django-project te bewerken.
Minimale configuratie
Het volgende voorbeeld toont de minimaal vereiste configuratie:
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",
},
},
}
Database-verbindingsinstellingen
Deze instellingen configureren je DATABASES verbinding. De meeste zijn standaard Django-instellingen; Uitzonderingen worden genoteerd:
| Instelling | Type | Description |
|---|---|---|
ENGINE |
String | Moet "mssql"zijn. |
NAME |
String | Databasenaam. Verplicht. |
HOST |
String | Serverhostnaam of IP-adres. Gebruik "server\\instance" het formaat voor benoemde instanties. |
PORT |
String | Server-instantieport. Lege string betekent standaardpoort. |
USER |
String | Gebruikersnaam van database. Als dat niet wordt gegeven, wordt Windows Integrated Security gebruikt. |
PASSWORD |
String | Wachtwoord van databasegebruiker. |
AUTOCOMMIT |
Boolean | Instellen op False om het transactiebeheer van Django uit te schakelen. De standaardwaarde is True. |
Trusted_Connection |
String | Stel in op "yes" (standaard) om Windows Integrated Security te gebruiken wanneer USER deze niet beschikbaar is. Wanneer USER en PASSWORD beide zijn ingesteld, krijgen die referenties voorrang en Trusted_Connection worden ze genegeerd. Stel in op "no" om Windows authentication expliciet uit te schakelen. Dit is een mssql-django uitbreiding, geen standaard Django-instelling. |
TOKEN |
String | Toegangstoken voor Microsoft Entra-authenticatie (bijvoorbeeld via azure.identity). Dit is een mssql-django uitbreiding, geen standaard Django-instelling. |
TESTINSTELLINGEN
Deze instellingen beheren de testdatabase die door Django's testrunner wordt gebruikt:
| Instelling | Type | Description |
|---|---|---|
NAME |
String | Testdatabasenaam. Standaard: "test_" + NAME. |
COLLATION |
String | Verzameling voor de testdatabase. Standaard: instantie standaard. |
DEPENDENCIES |
List | Afhankelijkheden van de opschepingsvolgorde van de database. |
MIRROR |
String | Alias van een database om te spiegelen tijdens testen. |
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",
},
},
}
OPTIES
Het OPTIONS woordenboek biedt backend-specifieke configuratie. Plaats deze instellingen in het DATABASES["default"]["OPTIONS"] woordenboek:
| Option | Type | Default | Description |
|---|---|---|---|
driver |
String | "ODBC Driver 18 for SQL Server" |
ODBC-driver om te gebruiken. Valt automatisch terug op Driver 17 als 18 niet geïnstalleerd is. |
isolation_level |
String | None |
Niveau van transactieisolatie: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SNAPSHOT, of SERIALIZABLE. |
dsn |
String | None |
Genoemd DSN. Kan worden gebruikt in plaats van HOST. |
host_is_server |
Boolean | False |
Stel in op True direct te gebruikenHOST/PORTmet FreeTDS in plaats van een freetds.conf dataservernaam. |
unicode_results |
Boolean | False |
Activeer de unicode_results functie van pyodbc. |
extra_params |
String | None |
Extra ODBC-parameters in "param=value;param=value" formaat. Gebruikt voor Microsoft Entra-authenticatie. |
collation |
String | None |
Verzameling voor tekstveldopzoekingen (bijvoorbeeld "Chinese_PRC_CI_AS"). |
connection_timeout |
Integer | 0 |
Verbindingstime-out in seconden (0 = uitgeschakeld). Gebruik minstens 60 voor Azure SQL Database serverless met auto-pauze ingeschakeld. Een automatisch gepauzeerde database wordt hervat bij de eerste verbindingspoging, en die poging kan mislukken met foutmelding 40613 terwijl de database wordt hervat, dus de applicatie moet het opnieuw proberen. Raadpleeg Automatisch onderbreken en automatisch hervatten voor meer informatie. |
connection_retries |
Integer | 5 |
Aantal pogingen tot opnieuw verbinden. |
connection_retry_backoff_time |
Integer | 5 |
Tijd om terug te trekken in seconden tussen herpogingen. |
query_timeout |
Integer | 0 |
Query-timeout binnen seconden (0 = uitgeschakeld). |
setencoding / setdecoding |
List | None |
Pyodbccoderingsdecodeerconfiguratie / . |
return_rows_bulk_insert |
Boolean | False |
Laat het terugkeren van rijen uit bulk insert toe. Dat moet wel als False tabellen triggers hebben. |
datefirst |
Integer | 7 |
Eerste dag van de week voor SET DATEFIRST.
7is zondag (standaard SQL Server), 1 is maandag. |
driver_needs_utf8 |
Alleen aanwezigheidsoptie | Niet ingesteld | Schakel UTF-8-codering in voor de ODBC-driver. Deze optie wordt ingeschakeld wanneer de sleutel aanwezig is in OPTIONS; de waarde zelf wordt genegeerd. Meestal nodig bij FreeTDS of oudere unixODBC-configuraties die standaard op Latin-1 draaien. |
driver_charset |
String | None |
Expliciete tekenset voor de ODBC-driver (bijvoorbeeld "UTF-8"). Gebruik wanneer driver_needs_utf8 de driver de codering niet automatisch detecteert. |
connection_recovery_interval_msec |
zweven | 0.0 |
Milliseconden om te wachten tussen herpogingen in de backend-herstelloop na een netwerkfout. Verhoog deze waarde voor onstabiele netwerkverbindingen. |
Voorbeeld met veelvoorkomende opties:
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,
},
},
}
Backend-specifieke instellingen
Deze instelling wordt geplaatst op moduleniveau in settings.py, buiten het DATABASES woordenboek:
| Instelling | Type | Default | Description |
|---|---|---|---|
DATABASE_CONNECTION_POOLING |
Boolean | True |
Stel in op False om de verbindingspooling van pyodbc uit te schakelen. |
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