Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini adalah referensi konfigurasi lengkap settings.py untuk backend basis mssql-django data Django. Konfigurasikan konektivitas SQL Server dengan mengedit DATABASES kamus dalam file proyek settings.py Django anda.
Konfigurasi minimal
Contoh berikut menunjukkan konfigurasi minimum yang diperlukan:
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",
},
},
}
Pengaturan koneksi database
Pengaturan ini mengonfigurasi koneksi Anda DATABASES . Sebagian besar adalah pengaturan Django standar; Pengecualian dicatat:
| Pengaturan | Tipe | Description |
|---|---|---|
ENGINE |
String | Harus berupa "mssql" . |
NAME |
String | Nama database. Dibutuhkan. |
HOST |
String | Nama host server atau alamat IP. Gunakan "server\\instance" format untuk instans bernama. |
PORT |
String | Port instans server. String kosong berarti port default. |
USER |
String | Nama pengguna database. Jika tidak diberikan, Keamanan Terintegrasi Windows digunakan. |
PASSWORD |
String | Kata sandi pengguna database. |
AUTOCOMMIT |
Boolean | Atur ke False untuk menonaktifkan manajemen transaksi Django. Defaultnya adalah True. |
Trusted_Connection |
String | Atur ke "yes" (default) untuk menggunakan Keamanan Terintegrasi Windows saat USER tidak disediakan. Ketika USER dan PASSWORD keduanya ditetapkan, kredensial tersebut diutamakan dan Trusted_Connection diabaikan. Atur ke "no" untuk menonaktifkan Windows authentication secara eksplisit. Ini adalah ekstensi mssql-django , bukan pengaturan Django standar. |
TOKEN |
String | Token akses untuk autentikasi Microsoft Entra (misalnya, melalui azure.identity). Ini adalah ekstensi mssql-django , bukan pengaturan Django standar. |
Pengaturan TEST
Pengaturan ini mengontrol database uji yang digunakan oleh pelari uji Django:
| Pengaturan | Tipe | Description |
|---|---|---|
NAME |
String | Uji nama database. Standar: "test_" + NAME. |
COLLATION |
String | Kolase untuk database pengujian. Default: default instans. |
DEPENDENCIES |
List | Dependensi urutan pembuatan database. |
MIRROR |
String | Alias database untuk dicerminkan selama pengujian. |
Contoh:
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",
},
},
}
OPSI
Kamus OPTIONS menyediakan konfigurasi khusus backend. Tempatkan pengaturan ini di dalam DATABASES["default"]["OPTIONS"] kamus:
| Option | Tipe | Default | Description |
|---|---|---|---|
driver |
String | "ODBC Driver 18 for SQL Server" |
Driver ODBC untuk digunakan. Secara otomatis kembali ke Driver 17 jika 18 tidak diinstal. |
isolation_level |
String | None |
Tingkat isolasi transaksi: READ UNCOMMITTED, , READ COMMITTED, REPEATABLE READSNAPSHOT, atau SERIALIZABLE. |
dsn |
String | None |
Bernama DSN. Dapat digunakan sebagai pengganti HOST. |
host_is_server |
Boolean | False |
Atur ke True untuk digunakanPORTHOST/langsung dengan FreeTDS, bukan freetds.conf nama server data. |
unicode_results |
Boolean | False |
Aktifkan fitur pyodbc unicode_results . |
extra_params |
String | None |
Parameter ODBC tambahan dalam "param=value;param=value" format. Digunakan untuk autentikasi Microsoft Entra. |
collation |
String | None |
Penyusunan untuk pencarian bidang teks (misalnya, "Chinese_PRC_CI_AS"). |
connection_timeout |
Integer | 0 |
Batas waktu koneksi dalam hitungan detik (0 = dinonaktifkan). |
connection_retries |
Integer | 5 |
Jumlah upaya percobaan ulang koneksi. |
connection_retry_backoff_time |
Integer | 5 |
Waktu mundur dalam hitungan detik di antara percobaan ulang. |
query_timeout |
Integer | 0 |
Batas waktu kueri dalam hitungan detik (0 = dinonaktifkan). |
setencoding / setdecoding |
List | None |
Konfigurasidecodingpengkodean / pyodBC. |
return_rows_bulk_insert |
Boolean | False |
Izinkan baris yang ditampilkan dari sisipan massal. Harus jika False tabel memiliki pemicu. |
datefirst |
Integer | 7 |
Hari pertama dalam seminggu untuk SET DATEFIRST.
7adalah hari Minggu (default SQL Server), 1 adalah Senin. |
driver_needs_utf8 |
Opsi hanya kehadiran | Belum diatur | Aktifkan pengkodean UTF-8 untuk driver ODBC. Opsi ini diaktifkan ketika kunci hadir di OPTIONS; nilai itu sendiri diabaikan. Biasanya diperlukan dengan FreeTDS atau konfigurasi unixODBC yang lebih lama yang default ke Latin-1. |
driver_charset |
String | None |
Kumpulan karakter eksplisit untuk driver ODBC (misalnya, "UTF-8"). Gunakan dengan driver_needs_utf8 saat driver tidak mendeteksi pengkodean secara otomatis. |
connection_recovery_interval_msec |
Float | 0.0 |
Milidetik untuk menunggu di antara upaya coba lagi di loop pemulihan koneksi backend setelah kesalahan jaringan. Tingkatkan nilai ini untuk tautan jaringan yang tidak stabil. |
Contoh dengan opsi umum:
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,
},
},
}
Pengaturan khusus backend
Pengaturan ini ditempatkan di tingkat modul di settings.py, di luar DATABASES kamus:
| Pengaturan | Tipe | Default | Description |
|---|---|---|---|
DATABASE_CONNECTION_POOLING |
Boolean | True |
Atur ke False untuk menonaktifkan pengumpulan koneksi pyodbc. |
Contoh:
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