Boa tarde, o meu está dando erro em um arquivo que nem foi mexido e não sei porque. Alguém pode me ajuda?
Boa tarde, o meu está dando erro em um arquivo que nem foi mexido e não sei porque. Alguém pode me ajuda?
Oii Mayara, como você está?
Peço desculpas pela demora em obter um retorno.
O erro de atributo apresentado (AttributeError) informando que o método só está disponível dentro da classe, está sendo levantado devido ao modo em que as classes AlunoSerializer
e CursoSerializer
, foram declaradas como atributo nos arquivos veiws.py e no arquivo url.py. Nesse caso, não usamos os parênteses () pois queremos apenas informar o qual a classe será utilizada e o local onde ela está e não criarmos um um objeto da classe.
Deixo abaixo os pontos que devemos fazer as mudanças.
Arquivo veiws.py
Modificar no momento da declaração do atributo serializer_class
.
class AlunosViewSets(viewsets.ModelViewSet):
"""Exibindo todos os alunos e alunas"""
queryset = Aluno.objects.all()
serializer_class = AlunoSerializer
class CursoViewsSets(viewsets.ModelViewSet):
"""Exibindo todos os cursos"""
queryset = Curso.objects.all()
serializer_class = CursoSerializer
Arquivo url.py
Modificar no momento em que é realizado o registros das rotas.
router = routers.DefaultRouter()
router.register('alunos', AlunosViewSets, basename='Alunos')
router.register('cursos', CursoViewsSets, basename='Cursos')
Qualquer dúvida fico à disposição.
Abraços e bons estudos!