Ja estou no meu segundo dia procurando a solução deste problema, na aula o professor, pelo menos que eu vi, pois estou assisintindo o curso pela segunda vez para fixar o conteudo, e nao o vi declarando na matricula o atributo get, simplesmente criou
def get_periodo(self, obj):
return obj.get_periodo_display()
Ja reescrevi, tentei declarar o atributo, la no model matricula, mas nada resolve.
OBS: A api esta funcionando, mas a pagina da ultima url, onde se procura os cursos que tal aluno esta matriculado (Alunos/int:pk/Matricula) ( urls.py ), ela nao funciona por causa desse get
Edit1: NA IMAGEM DO GET_PERIODO ESTA APAGADO, POIS TIREI PRINT QUANDO ESTAVA REESCREVENDO, erro persiste
from rest_framework import serializers
from escola.models import Aluno, Curso, Matricula
class AlunoSerializer(serializers.ModelSerializer):
class Meta:
model = Aluno
fields = '__all__'
class CursoSerializer(serializers.ModelSerializer):
class Meta:
model = Curso
fields = '__all__'
class MatriculaSerializer(serializers.ModelSerializer):
class Meta:
model = Matricula
fields = '__all__'
class ListaMatriculaAlunosSerializer(serializers.ModelSerializer):
curso = serializers.ReadOnlyField(source='curso.descricao')
periodo = serializers.SerializerMethodField()
class Meta:
model = Matricula
fields = ['curso', 'periodo']
def get_periodo(self, obj):
return obj.get_periodo_display()
class ListaAlunosMatriculadosSerializer(serializers.ModelSerializer):
aluno_nome = serializers.ReadOnlyField(source='aluno.nome')
class Meta:
model = Matricula
fields = ['aluno_nome']
E NA URL DE MATRICULAS EM UM CURSO, NAO APARECE O NOME DE NINGUEM, MAS TEM CADASTRO PELO ADMIN