Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
En este inicio rápido, creará un proyecto de Django, lo conectará a una base de datos de SQL Server mediante mssql-django, ejecutará migraciones y realizará operaciones de datos básicas con django ORM.
Prerequisites
- Python 3.8 o posterior. Django 6.0 requiere Python 3.12 y versiones posteriores.
- Microsoft controlador ODBC 17 o 18 para SQL Server. Consulte Descarga del controlador ODBC para SQL Server.
- Instancia de SQL Server o Azure SQL Database con un inicio de sesión válido.
Paso 1: Instalación de mssql-django
Cree un entorno virtual e instale el paquete:
python -m venv .venv
.venv\Scripts\activate
pip install mssql-django
Paso 2: Crear un proyecto de Django
Cree un proyecto y una aplicación de Django:
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
Paso 3: Configurar la base de datos
Edite myproject/settings.py y reemplace la configuración predeterminada DATABASES .
Conectarse a SQL Server
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
},
}
Caution
Utilice TrustServerCertificate=yes solo para el desarrollo local con certificados autofirmados. No lo use en producción. Desactiva la validación de la cadena de certificados y aumenta el riesgo de un atacante de tipo man-in-the-middle. Instale un certificado de confianza en el servidor y conéctese con TrustServerCertificate=no.
Conectarse a 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",
},
},
}
Paso 4: Definir un modelo
Edite 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
Agregue "myapp" a INSTALLED_APPS en settings.py:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"myapp",
]
Paso 5: Ejecución de migraciones
Generar y aplicar migraciones de base de datos:
python manage.py makemigrations myapp
python manage.py migrate
Confirme que se aplicó la myapp migración:
python manage.py showmigrations myapp
Deberías ver [X] 0001_initial. Si ve [ ] 0001_initial, vuelva a ejecutar python manage.py migrate myapp antes de continuar.
Paso 6: Usar el ORM de Django
Abra el shell de Django. El shell es una sesión interactiva de Python con tu proyecto de Django cargado, indicada por el indicador >>>.
python manage.py shell
En el indicador >>>, importa el modelo:
from myapp.models import Product
Cree un registro:
product = Product.objects.create(name="Widget", price=9.99)
print(f"Created: {product.name} (id={product.pk})")
Leer registros:
for p in Product.objects.all():
print(f"{p.name}: ${p.price}")
Actualice el registro:
product.price = 12.99
product.save()
Elimine el registro:
product.delete()
Sal del shell con exit(). Como alternativa, use Ctrl+Z en Windows o Ctrl+D en Linux o macOS.
Note
Si recibe un error Invalid object name 'myapp_product', la tabla myapp_product no existe en la base de datos aunque el historial de migraciones de Django indica que 0001_initial está aplicada. Sal del shell, a continuación, restablece el historial de migración y vuelve a aplicarlo:
python manage.py migrate myapp zero --fake
python manage.py migrate myapp
Contenido relacionado
- Instalación de mssql-django
- Asignaciones de tipos de campo de Django a SQL Server
- Tutorial de Django
- mssql-django en GitHub