1
resposta

Id.

Gostaria de entender em que parte do código faz com que cada vez que eu crio um aluno/curso gere um id único para ele, achei que seria por aqui mas não achei:

from django.db import models

class Estudante(models.Model):
    nome = models.CharField(max_length = 100)
    email = models.EmailField(blank = False, max_length = 30)
    cpf = models.CharField(max_length = 11)
    data_nascimento = models.DateField()
    celular = models.CharField(max_length = 14)

    def __str__(self):
        return self.nome
    
class Curso(models.Model):
    NIVEL =(
        ('B', 'Básico'),
        ('I', 'Intermediário'),
        ('A', 'Avançado'),
    )
    codigo = models.CharField(max_length = 10)
    descricao = models.CharField(max_length = 100, blank = False)
    nivel = models.CharField(max_length = 1, blank = False, null = False, default = 'B')
    
    def __str__(self):
        return self.codigo
1 resposta

Olá Luca! Tudo joia?

No Django, o campo id é gerado automaticamente pelo framework quando você cria uma nova instância de um modelo. Isso acontece porque o Django, por padrão, adiciona um campo id como chave primária para cada modelo, a menos que você especifique uma chave primária diferente.

No seu código, você não vê explicitamente o campo id porque ele é gerado automaticamente. Quando você cria um novo Estudante ou Curso, o Django cria um id único para cada instância, garantindo que cada objeto no banco de dados possa ser identificado de maneira única.

Se você quiser ver esse comportamento, pode criar uma instância de Estudante ou Curso no shell do Django e verificar o id atribuído. Por exemplo:

>>> from sua_app.models import Estudante
>>> novo_estudante = Estudante(nome="Ana", email="ana@example.com", cpf="12345678901", data_nascimento="2000-01-01", celular="1234567890")
>>> novo_estudante.save()
>>> novo_estudante.id
1  # Este número será único e pode variar

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.