Atualizado: 18/01/2024

Criando modelos - Django

No Django, os modelos representam a estrutura dos dados utilizados na aplicação. Esses dados são armazenados em bancos de dados, e os modelos fornecem uma interface estruturada para interagir com eles.

Ao criar uma aplicação no Django, o arquivo models.py é automaticamente adicionado ao diretório do aplicativo. Esse arquivo é destinado à definição de modelos, que são representados por classes que herdam de django.db.models.Model.

Por exemplo, o arquivo models.py pode conter o seguinte código:

from django.db import models
 
class Person(models.Model):
    name = models.CharField(max_length=20)
    age = models.IntegerField()
Criando modelos no projeto Django

Nesse exemplo, foi definida uma classe chamada Person, que representa uma pessoa. Essa classe contém dois campos: name e age. O campo name é do tipo CharField, utilizado para armazenar sequências de caracteres. É obrigatório definir o parâmetro max_length, que especifica o tamanho máximo da string armazenada. Já o campo age é do tipo IntegerField, projetado para armazenar números inteiros, representando a idade de uma pessoa.

No Django, cada modelo é associado a uma tabela no banco de dados. Contudo, logo após a criação do modelo, essa tabela ainda não existe no banco. Para criar a tabela correspondente, é necessário aplicar uma migração. As migrações são scripts que sincronizam a estrutura do banco de dados com as definições dos modelos.

A migração é realizada com o comando:

python manage.py makemigrations

Após a execução desse comando, um arquivo de migração será criado no diretório migrations do aplicativo. Esse arquivo contém as instruções para criar a tabela no banco de dados. O conteúdo do arquivo gerado pode ser semelhante a este:

from django.db import migrations, models
 
class Migration(migrations.Migration):
    
    initial = True
    
    dependencies = [
    ]
    
    operations = [
        migrations.CreateModel(
            name='Person',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=20)),
                ('age', models.IntegerField()),
            ],
        ),
    ]

Esse script define que a tabela terá três campos: id, name e age. O campo id é adicionado automaticamente pelo Django como chave primária, o que elimina a necessidade de declarar explicitamente um identificador único no modelo.

Migração de modelos em Django

Depois que a migração é criada, ela precisa ser aplicada ao banco de dados para que as alterações sejam efetivadas. Isso é feito com o comando:

python manage.py migrate

Após a aplicação da migração, a tabela correspondente ao modelo Person será criada no banco de dados. Ao abrir o arquivo db.sqlite3 em um visualizador de banco de dados, será possível confirmar que a tabela foi adicionada.

Banco de dados SQLite em Django

Durante o desenvolvimento do projeto, é comum que as definições dos modelos sejam alteradas. Novos campos podem ser adicionados, campos existentes podem ser removidos ou novos modelos podem ser criados. Sempre que alterações como essas forem realizadas, será necessário realizar novas migrações para manter a estrutura do banco de dados sincronizada com os modelos definidos.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com