Os modelos em Django são a pedra angular para a criação de sistemas com Python e Django. Eles são a representação de alto nível do banco de dados, permitindo que você crie, recupere, atualize e exclua registros sem ter que escrever SQL manualmente. Em vez disso, o Django faz todo o trabalho pesado para você, permitindo que você se concentre na lógica do seu aplicativo.
Para começar a trabalhar com modelos em Django, primeiro você precisa criar um modelo. Um modelo é uma classe Python que herda de django.db.models.Model
. Cada atributo da classe representa um campo no banco de dados. Por exemplo:
from django.db import models class Livro(models.Model): titulo = models.CharField(max_length=200) autor = models.ForeignKey(Autor, on_delete=models.CASCADE) publicado_em = models.DateField()
Neste exemplo, criamos um modelo Livro com três campos: titulo, autor e publicado_em. O campo titulo é um campo de texto com um comprimento máximo de 200 caracteres. O campo autor é uma chave estrangeira para o modelo Autor, o que significa que cada livro está associado a um autor. O campo publicado_em é uma data.
Depois de definir seus modelos, você precisa dizer ao Django para criar as tabelas correspondentes no banco de dados. Isso é feito usando o comando de migração do Django:
python manage.py makemigrations python manage.py migrate
Estes comandos irão gerar e aplicar as migrações necessárias para criar as tabelas no banco de dados.
Uma vez que as tabelas estão no lugar, você pode começar a trabalhar com os dados. Django fornece uma API de banco de dados de alto nível que permite que você crie, recupere, atualize e exclua registros de uma maneira Pythonica. Por exemplo, para criar um novo livro, você faria o seguinte:
livro = Livro(titulo='Python para Iniciantes', autor=autor, publicado_em='2021-01-01') livro.save()
Para recuperar um livro do banco de dados, você pode usar o método get
:
livro = Livro.objects.get(titulo='Python para Iniciantes')
Para atualizar um registro, você simplesmente altera os atributos do objeto e chama o método save
novamente:
livro.titulo = 'Python para Profissionais' livro.save()
E para excluir um registro, você usa o método delete
:
livro.delete()
Além disso, Django suporta consultas de banco de dados complexas usando o método filter
. Por exemplo, para encontrar todos os livros publicados em 2021, você faria o seguinte:
livros = Livro.objects.filter(publicado_em__year=2021)
Em resumo, os modelos em Django são uma poderosa ferramenta para trabalhar com bancos de dados. Eles permitem que você crie, recupere, atualize e exclua registros de uma maneira Pythonica, sem ter que se preocupar com SQL. Isso torna a criação de sistemas com Python e Django uma tarefa muito mais fácil e agradável.