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.
In deze quickstart maakt u een Django-project, verbindt u het met een SQL Server-database met behulp van mssql-djangomigraties en voert u eenvoudige gegevensbewerkingen uit met de Django ORM.
Prerequisites
- Python 3.8 of hoger. Django 6.0 vereist Python 3.12 en nieuwere versies.
- Microsoft ODBC-stuurprogramma 17 of 18 voor SQL Server. Zie ODBC-stuurprogramma downloaden voor SQL Server.
- Een SQL Server exemplaar of Azure SQL Database met een geldige aanmelding.
Stap 1: mssql-django installeren
Maak een virtuele omgeving en installeer het pakket:
python -m venv .venv
.venv\Scripts\activate
pip install mssql-django
Stap 2: Een Django-project maken
Maak een nieuw Django-project en -app:
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
Stap 3: De database configureren
Bewerk myproject/settings.py en vervang de standaardinstelling DATABASES .
Verbinding maken met SQL Server
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
},
}
Waarschuwing
Alleen gebruiken TrustServerCertificate=yes voor lokale ontwikkeling met zelfondertekende certificaten. Gebruik het niet in productie. Hierdoor wordt de validatie van de certificaatketen uitgeschakeld en neemt het man-in-the-middle-risico toe. Installeer een vertrouwd certificaat op de server en maak verbinding met TrustServerCertificate=no.
Verbinding maken met 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",
},
},
}
Stap 4: Een model definiƫren
myapp/models.pybewerken:
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
Voeg "myapp" toe aan INSTALLED_APPS in settings.py:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"myapp",
]
Stap 5: Migraties uitvoeren
Databasemigraties genereren en toepassen:
python manage.py makemigrations myapp
python manage.py migrate
Controleer of de myapp migratie is toegepast:
python manage.py showmigrations myapp
U zou [X] 0001_initialmoeten zien. Als u [ ] 0001_initial ziet, voert u python manage.py migrate myapp opnieuw uit voordat u doorgaat.
Stap 6: De Django ORM gebruiken
Open de shell van Django. De shell is een interactieve Python sessie met uw Django-project geladen, aangegeven door de >>> prompt.
python manage.py shell
Importeer het model bij de >>> prompt:
from myapp.models import Product
Een record maken:
product = Product.objects.create(name="Widget", price=9.99)
print(f"Created: {product.name} (id={product.pk})")
Records lezen:
for p in Product.objects.all():
print(f"{p.name}: ${p.price}")
Werk de record bij:
product.price = 12.99
product.save()
De record verwijderen:
product.delete()
Verlaat de shell met exit(). U kunt ook Ctrl+Z gebruiken op Windows of Ctrl+D in Linux of macOS.
Note
Als er een Invalid object name 'myapp_product' fout optreedt, bestaat de myapp_product tabel niet in de database, ook al worden de migratiegeschiedenisclaims 0001_initial van Django toegepast. Sluit de shell af en stel de migratiegeschiedenis opnieuw in en pas deze opnieuw toe:
python manage.py migrate myapp zero --fake
python manage.py migrate myapp
Verwante inhoud
- mssql-django installeren
- Django-veld voor SQL Server typetoewijzingen
- Django-zelfstudie
- mssql-django op GitHub