DEV Community

Francisco Júnior
Francisco Júnior

Posted on • Edited on

Guia Completo do Módulo models no Django

O módulo models é um dos principais componentes do framework Django, que permite definir e manipular a estrutura do banco de dados do aplicativo. Neste guia completo, exploraremos o módulo models do Django, explicando o que é, como funciona e fornecendo exemplos práticos de como criar modelos de dados, configurar migrações e realizar consultas no banco de dados.

O que é o Módulo models no Django?

O módulo models no Django é usado para definir a estrutura dos dados que serão armazenados no banco de dados do aplicativo. Ele fornece uma maneira eficiente de criar e manipular tabelas de banco de dados sem a necessidade de escrever SQL diretamente. Com o models, você pode criar modelos de dados que representam entidades do seu aplicativo e definir relacionamentos entre essas entidades.

Criando Modelos de Dados

Para criar um modelo de dados em um aplicativo Django, siga estas etapas:

1. Defina um Modelo

Dentro do arquivo models.py do aplicativo, defina uma classe de modelo que herda de models.Model e especifique os campos que deseja incluir na tabela de banco de dados. Por exemplo, para criar um modelo chamado Produto com campos de nome, preço e estoque:

# models.py

from django.db import models

class Produto(models.Model):
    nome = models.CharField(max_length=100)
    preco = models.DecimalField(max_digits=10, decimal_places=2)
    estoque = models.PositiveIntegerField()
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, estamos usando campos de texto, campo decimal e um campo de número inteiro.

2. Criar Migrações

Depois de definir o modelo, você precisa criar migrações para criar a tabela de banco de dados correspondente. Execute o seguinte comando para criar migrações:

python manage.py makemigrations
Enter fullscreen mode Exit fullscreen mode

Este comando cria um arquivo de migração no diretório migrations do aplicativo.

3. Aplicar Migrações

Para aplicar as migrações e criar a tabela de banco de dados real, execute o seguinte comando:

python manage.py migrate
Enter fullscreen mode Exit fullscreen mode

Agora, a tabela Produto está disponível no banco de dados.

Personalização de Modelos

Os modelos do Django são altamente personalizáveis e podem ser adaptados para atender às necessidades específicas do projeto. Você pode adicionar campos, criar métodos personalizados e definir relacionamentos entre modelos.

Adicionando Campos

Para adicionar campos a um modelo, basta definir novos campos na classe do modelo. Por exemplo, para adicionar um campo de descrição:

descricao = models.TextField()
Enter fullscreen mode Exit fullscreen mode

Criando Métodos Personalizados

Você pode criar métodos personalizados em um modelo para executar operações específicas. Por exemplo, para calcular o valor total dos produtos em estoque:

def valor_total_em_estoque(self):
    return self.preco * self.estoque
Enter fullscreen mode Exit fullscreen mode

Definindo Relacionamentos

Você pode definir relacionamentos entre modelos usando campos como ForeignKey e ManyToManyField. Por exemplo, para criar uma relação entre Pedido e Produto:

class Pedido(models.Model):
    produtos = models.ManyToManyField(Produto)
Enter fullscreen mode Exit fullscreen mode

Consultas no Banco de Dados

Você pode consultar o banco de dados para recuperar, filtrar e manipular dados usando o módulo models. Aqui estão alguns exemplos de consultas:

Consultando Todos os Objetos

Para recuperar todos os objetos de um modelo:

produtos = Produto.objects.all()
Enter fullscreen mode Exit fullscreen mode

Filtrando Objetos

Para filtrar objetos com base em um critério:

produtos_caros = Produto.objects.filter(preco__gt=50)
Enter fullscreen mode Exit fullscreen mode

Consulta de Objetos Relacionados

Para consultar objetos relacionados:

pedido = Pedido.objects.get(id=1)
produtos_do_pedido = pedido.produtos.all()
Enter fullscreen mode Exit fullscreen mode

Conclusão

O módulo models no Django é um componente essencial para criar e manipular estruturas de dados no banco de dados do aplicativo. Com o models, você pode definir modelos de dados personalizados, configurar relacionamentos entre entidades e realizar consultas eficazes no banco de dados. Ao entender e utilizar os recursos discutidos neste guia, você poderá criar modelos de dados eficazes para seu aplicativo Django e interagir com o banco de dados de forma eficiente. Certifique-se de explorar a documentação do Django para obter mais informações sobre recursos avançados e práticas recomendadas.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay