Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

AttributeError at /student/ 'str' object has no attribute '_meta'

Boa tarde pessoal, estou na parte do curso onde o professor ensina a configurar as urls para entrar no local host:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeAté ai tudo bem, mas quando eu clico na url "student" apresenta este erro:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade views.py

from rest_framework import viewsets
from school.models import Student_models, Course_models
from school.serializer import StudentSerializer, CourseSerializer

class StudentViewSet(viewsets.ModelViewSet):
    """Exibindo todos os alunos e alunas"""
    queryset = Student_models.objects.all()
    serializer_class = StudentSerializer

class CourseViewSet(viewsets.ModelViewSet):
    """Exibindo todos os cursos"""
    queryset = Course_models.objects.all()
    serializer_class = CourseSerializer

urls.py:

from django.urls import path, include
from school.views import StudentViewSet, CourseViewSet
from rest_framework import routers

router = routers.DefaultRouter()
router.register('student', StudentViewSet, basename='Student')
router.register('course', CourseViewSet, basename='Course')



urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(router.urls) )
    ]

serializer.py =

from rest_framework import serializers
from school.models import Student_models, Course_models


class StudentSerializer(serializers.ModelSerializer):
    class Meta:
        model = 'Student_models'
        fields = '__all__'

class CourseSerializer(serializers.ModelSerializer):
    class Meta:
        model = 'Course_models'
        fields = '__all__'

admin.py

from django.contrib import admin
from school.models import Student_models, Course_models

class Student_admin(admin.ModelAdmin):
    list_display = ('id', 'name', 'rg', 'cpf', 'birthday')
    list_display_links = ('id', 'name')
    search_fields = ('name', )
    list_per_page = 20

admin.site.register(Student_models, Student_admin)

class Course_admin(admin.ModelAdmin):
    list_display = ('id', 'id_course', 'description')
    list_display_links = ('id', 'id_course')
    search_fields = ('id_course', )

admin.site.register(Course_models, Course_admin)

1 resposta
solução!

Descobri meu erro minutos depois, vou deixar registrado caso alguém tenha a mesma dúvida

No ** serializers.py**:

from rest_framework import serializers
from school.models import Student_models, Course_models


class StudentSerializer(serializers.ModelSerializer):
    class Meta:
        model = 'Student_models'
        fields = '__all__'

class CourseSerializer(serializers.ModelSerializer):
    class Meta:
        model = 'Course_models'
        fields = '__all__'

nas classes Meta, passei os meus models de student e course como string e era pra passar como model mesmo

class StudentSerializer(serializers.ModelSerializer):
    class Meta:
        model = Student_models
        fields = '__all__'

class CourseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Course_models
        fields = '__all__'

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software