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.
Dalam mulai cepat ini, Anda membuat proyek Django, menyambungkannya ke database SQL Server menggunakan mssql-django, menjalankan migrasi, dan melakukan operasi data dasar dengan ORM Django.
Prasyarat
- Python 3.8 atau yang lebih baru. Django 6.0 memerlukan Python 3.12 dan versi yang lebih baru.
- Microsoft ODBC Driver 17 atau 18 untuk SQL Server. Lihat Mengunduh Driver ODBC untuk SQL Server.
- Instans SQL Server atau Azure SQL Database dengan login yang valid.
Langkah 1: Instal mssql-django
Buat lingkungan virtual dan instal paket:
python -m venv .venv
.venv\Scripts\activate
pip install mssql-django
Langkah 2: Membuat proyek Django
Buat proyek dan aplikasi Django baru:
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
Langkah 3: Mengonfigurasi database
Edit myproject/settings.py dan ganti pengaturan default DATABASES .
Sambungkan ke SQL Server
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
},
}
Perhatian
Gunakan TrustServerCertificate=yes hanya untuk pengembangan lokal dengan sertifikat yang ditandatangani sendiri. Jangan gunakan dalam produksi. Ini menonaktifkan validasi rantai sertifikat dan meningkatkan risiko serangan perantara. Instal sertifikat tepercaya di server dan sambungkan dengan TrustServerCertificate=no.
Menyambung ke Azure SQL Database
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",
},
},
}
Langkah 4: Tentukan model
Edit myapp/models.py:
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=100)
price = models.DecimalField(max_digits=10, decimal_places=2)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.name
Tambahkan "myapp" ke INSTALLED_APPS dalam settings.py:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"myapp",
]
Langkah 5: Jalankan migrasi
Buat dan terapkan migrasi database:
python manage.py makemigrations myapp
python manage.py migrate
Konfirmasikan bahwa myapp migrasi telah diterapkan:
python manage.py showmigrations myapp
Anda seharusnya melihat [X] 0001_initial. Jika Anda melihat [ ] 0001_initial, jalankan python manage.py migrate myapp ulang sebelum melanjutkan.
Langkah 6: Gunakan Django ORM
Buka shell Django. Shell adalah sesi Python interaktif dengan proyek Django Anda yang sudah dimuat, ditandai dengan prompt >>>.
python manage.py shell
Pada prompt >>>, impor model:
from myapp.models import Product
Membuat rekaman:
product = Product.objects.create(name="Widget", price=9.99)
print(f"Created: {product.name} (id={product.pk})")
Membaca rekaman:
for p in Product.objects.all():
print(f"{p.name}: ${p.price}")
Perbarui catatan:
product.price = 12.99
product.save()
Hapus rekaman:
product.delete()
Keluar dari shell dengan exit(). Atau, gunakan Ctrl+Z di Windows, atau Ctrl+D di Linux atau macOS.
Note
Jika Anda mendapatkan kesalahan Invalid object name 'myapp_product', tabel myapp_product tidak ada di database meskipun riwayat migrasi Django menyatakan bahwa 0001_initial telah diterapkan. Keluar dari shell, lalu reset riwayat migrasi dan terapkan kembali:
python manage.py migrate myapp zero --fake
python manage.py migrate myapp
Konten terkait
- Menginstal mssql-django
- Pemetaan field Django ke tipe SQL Server
- Tutorial Django
- mssql-django di GitHub