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 gebruikenPORTHOST/met 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). |
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