Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste início rápido, você cria um projeto do Django, conecta-o a um banco de dados SQL Server usandomssql-django, executa migrações e executa operações de dados básicas com o DJango ORM.
Pré-requisitos
- Python 3.8 ou posterior. O Django 6.0 requer versões Python 3.12 e posteriores.
- Microsoft Driver ODBC 17 ou 18 para SQL Server. Consulte Baixar o Driver ODBC para SQL Server.
- Uma instância SQL Server ou Banco de Dados SQL do Azure com um logon válido.
Etapa 1: Instalar mssql-django
Crie um ambiente virtual e instale o pacote:
python -m venv .venv
.venv\Scripts\activate
pip install mssql-django
Etapa 2: Criar um projeto do Django
Crie um novo projeto e um aplicativo do Django:
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
Etapa 3: Configurar o banco de dados
Edite myproject/settings.py e substitua a configuração padrão DATABASES .
Conectar-se ao SQL Server
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
},
}
Cuidado
Use TrustServerCertificate=yes somente para desenvolvimento local com certificados autoassinados. Não o use em produção. Ele desabilita a validação da cadeia de certificados e aumenta o risco de adversário no meio. Instale um certificado confiável no servidor e conecte-se com TrustServerCertificate=no.
Conectar-se ao Banco de Dados SQL do Azure
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",
},
},
}
Etapa 4: Definir um 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
Adicione "myapp" a INSTALLED_APPS em settings.py:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"myapp",
]
Etapa 5: Executar migrações
Gerar e aplicar migrações de banco de dados:
python manage.py makemigrations myapp
python manage.py migrate
Confirme se a myapp migração foi aplicada:
python manage.py showmigrations myapp
Você deve ver [X] 0001_initial. Se você vir [ ] 0001_initial, execute python manage.py migrate myapp novamente antes de continuar.
Etapa 6: Usar o ORM do Django
Abra o shell do Django. O shell é uma sessão interativa do Python com seu projeto Django já carregado, indicada pelo prompt >>>.
python manage.py shell
No prompt >>>, importe o modelo:
from myapp.models import Product
Crie um registro:
product = Product.objects.create(name="Widget", price=9.99)
print(f"Created: {product.name} (id={product.pk})")
Ler registros:
for p in Product.objects.all():
print(f"{p.name}: ${p.price}")
Atualize o registro:
product.price = 12.99
product.save()
Exclua o registro:
product.delete()
Saia do shell com exit(). Como alternativa, use Ctrl+Z no Windows ou Ctrl+D no Linux ou macOS.
Note
Se você receber um erro Invalid object name 'myapp_product', a tabela myapp_product não existe no banco de dados, embora o histórico de migrações do Django afirme que 0001_initial foi aplicado. Saia do shell e, em seguida, redefina o histórico de migração e aplica-o novamente:
python manage.py migrate myapp zero --fake
python manage.py migrate myapp
Conteúdo relacionado
- Instalar mssql-django
- Mapeamentos de tipos de campos do Django para o SQL Server
- Tutorial do Django
- mssql-django no GitHub