No django admin quando eu tento atribuir uma matricula a um aluno mostra as opcoes de escolha como:
Aluno (object1) Aluno (object2) Aluno (object3)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
No django admin quando eu tento atribuir uma matricula a um aluno mostra as opcoes de escolha como:
Aluno (object1) Aluno (object2) Aluno (object3)
Olá, Miguel! O Django admin mostra a representação de string de cada objeto na lista de seleção. No seu caso, parece que a representação de string do objeto Aluno não está definida, então o Django está usando a representação padrão, que é o nome da classe seguido de um identificador único.
Para resolver isso, você pode definir um método str() na sua classe Aluno que retorna uma string representando o objeto. Este método é chamado pelo Django admin para exibir cada objeto. Aqui está um exemplo:
class Aluno(models.Model):
# campos do modelo aqui
def __str__(self):
return self.nome # ou qualquer campo que você queira mostrar
Neste exemplo, o método str() retorna o nome do aluno. Assim, na lista de seleção do Django admin, você verá o nome de cada aluno em vez de “Aluno (object1)”, “Aluno (object2)”, etc.
Espero que isso ajude! Se você tiver mais perguntas, sinta-se à vontade para perguntar. Estou aqui para ajudar!