Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Representar cada aluno pelo nome dele?

Quando criamos a model de aluno criamos uma função que, conforme o instrutor, irá representar cada aluno pelo nome, segue o código:

class Aluno(models.Model):
    nome = models.CharField(max_length=255)
    rg = models.CharFiel(max_length=9)
    cpf = models.CharFiel(max_length=11)
    data_nascimento = models.DateField()
    
    def __str__(self):
        return self.nome

O que seria essa função e para que serve?

2 respostas
solução!

Oi Leonardo, tudo bem?

A função __str__ que você mencionou é um método especial no Python. Ele é usado para definir uma representação de string amigável para objetos. No contexto do Django e do seu modelo Aluno, esse método é usado para representar de forma mais legível cada instância do modelo Aluno quando for exibida.

O método __str__ está retornando o atributo nome do modelo Aluno. Isso quer dizer que quando você estiver trabalhando com um objeto Aluno e quiser convertê-lo em uma string (por exemplo, para exibi-lo em um console, em um log ou em uma interface de administração), o Django vai usar o valor do nome desse objeto Aluno como a representação de string dele.

Por exemplo, se você tiver um aluno chamado 'João', quando você tentar imprimir esse objeto Aluno, você verá 'João' em vez de um objeto Aluno não descritivo.

Espero ter ajudado.

Um abraço e bons estudos.

Olá Lorena, tudo bem?

Está um pouco abstrato ainda porém acredito que seja mais na minha forma de interpretar o conceito de OO ainda tem muito estudo a se fazer. Mas irei aprofundar um pouco nesse conceito e qualquer coisa volto para a questão em si.

Muito obrigado pela resposta! Um abraço!!