Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a rövid útmutatóban létrehoz egy Django-projektet, csatlakoztatja egy SQL Server-adatbázishoz migrálások futtatásávalmssql-django, és alapvető adatműveleteket hajt végre a Django ORM használatával.
Prerequisites
- Python 3.8 vagy újabb verzió. A Django 6.0 Python 3.12-s és újabb verzióit igényli.
- Microsoft ODBC Driver 17 vagy 18 SQL Serverhez. Lásd: Az SQL Serverhez készült ODBC-illesztőprogram letöltése.
- Egy SQL Server-példány vagy Azure SQL Database érvényes bejelentkezési adatokkal.
1. lépés: Az mssql-django telepítése
Hozzon létre egy virtuális környezetet, és telepítse a csomagot:
python -m venv .venv
.venv\Scripts\activate
pip install mssql-django
2. lépés: Django-projekt létrehozása
Hozzon létre egy új Django-projektet és alkalmazást:
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
3. lépés: Az adatbázis konfigurálása
Szerkessze myproject/settings.py, és cserélje le az alapértelmezett DATABASES beállítást.
Csatlakozás az SQL Serverhez
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
},
}
Caution
Csak helyi fejlesztéshez használható TrustServerCertificate=yes önaláírt tanúsítványokkal. Ne használja éles környezetben. Letiltja a tanúsítványlánc érvényesítését, és növeli a középen belüli támadói kockázatot. Telepítsen egy megbízható tanúsítványt a kiszolgálón, és csatlakozzon a kiszolgálóhoz TrustServerCertificate=no.
Csatlakozás az Azure SQL Database-hez
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",
},
},
}
4. lépés: Modell meghatározása
myapp/models.pyszerkesztése:
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
Adja hozzá a(z) "myapp" elemet a(z) INSTALLED_APPS elemhez a(z) settings.py elemben:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"myapp",
]
5. lépés: Áttelepítések futtatása
Adatbázis-migrálások létrehozása és alkalmazása:
python manage.py makemigrations myapp
python manage.py migrate
Ellenőrizze, hogy alkalmazták-e az myapp áttelepítést:
python manage.py showmigrations myapp
Látnia kell [X] 0001_initial. Ha megjelenik [ ] 0001_initial, futtassa python manage.py migrate myapp újra a folytatás előtt.
6. lépés: A Django ORM használata
Nyissa meg a Django-héjat. A shell egy interaktív Python-munkamenet, amelyben be van töltve a Django-projekted; ezt az >>> prompt jelzi.
python manage.py shell
A >>> promptnál importálja a modellt:
from myapp.models import Product
Rekord létrehozása:
product = Product.objects.create(name="Widget", price=9.99)
print(f"Created: {product.name} (id={product.pk})")
Rekordok olvasása:
for p in Product.objects.all():
print(f"{p.name}: ${p.price}")
Frissítse a rekordot:
product.price = 12.99
product.save()
Rekord törlése:
product.delete()
Lépjen ki a shellből ezzel: exit() Másik lehetőségként használhatja a CtrlZ+ Windows, linuxos vagy macOS rendszeren pedig a Ctrl D billentyűkombinációt+.
Note
Ha Invalid object name 'myapp_product' hibát kap, a myapp_product tábla nem létezik az adatbázisban, annak ellenére, hogy a Django migrációs előzményei azt jelzik, hogy a(z) 0001_initial alkalmazva van. Lépjen ki a parancsértelmezőből, majd állítsa alaphelyzetbe a migrációs előzményeket, és futtassa le újra:
python manage.py migrate myapp zero --fake
python manage.py migrate myapp
Kapcsolódó tartalom
- Az mssql-django telepítése
- Django-mezők SQL Server-típusmegfeleltetései
- Django oktatóanyag
- mssql-django a GitHub