我收到此错误:/home/ 的 AttributeError 'list'对象没有属性'values'



型号.py

from django.db import models
class Student(models.Model):
Student_Name           =  models.CharField(max_length=40)
Father_Name            =  models.CharField(max_length=40)
Contact                =  models.CharField(max_length=10)
Address                =  models.CharField(max_length=120)
def __str__(self):
return self.Student_Name

序列化程序.py

from rest_framework import serializers
from .models import Student

class StudentForm(serializers.ModelSerializer):

model = Student
fields = ['Student_Name','Father_Name','Contact','Address']

应用程序urls.py

from django.urls import path
from restapiapp import views

urlpatterns = [
path('home/', views.HomeView, name='home'),
]

admin.py

from django.contrib import admin
from .models import Student
admin.site.register(Student)

视图.py

from django.http import HttpResponse,JsonResponse
from rest_framework.decorators import api_view
from .models import Student
from .serializers import StudentForm
@api_view(['GET'])
def HomeView(request):

serializer_obj = Student.objects.all()
serializer1     = StudentForm(serializer_obj,many=True)
return JsonResponse(serializer1.data, safe=False)

设置.py

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'restapiapp',
]

urls.py

from django.urls import path, include
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('restapiapp.urls')),
]

错误:

Internal Server Error: /home/
Traceback (most recent call last):
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesdjangocorehandlersexception.py", line 55, in inner
response = get_response(request)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesdjangocorehandlersbase.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesdjangoviewsdecoratorscsrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesdjangoviewsgenericbase.py", line 103, in view
return self.dispatch(request, *args, **kwargs)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkviews.py", line 509, in dispatch
response = self.handle_exception(exc)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkviews.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkviews.py", line 480, in raise_uncaught_exception
raise exc
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkviews.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkdecorators.py", line 50, in handler
return func(*args, **kwargs)
File "C:UsersOmkardjango_projectsrestapipro1restapiappviews.py", line 12, in HomeView
return JsonResponse(serializer1.data, safe=False)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkserializers.py", line 768, in data
ret = super().data
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkserializers.py", line 253, in data
self._data = self.to_representation(self.instance)
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkserializers.py", line 686, in to_representation
return [
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkserializers.py", line 687, in <listcomp>
self.child.to_representation(item) for item in iterable
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkserializers.py", line 507, in to_representation
for field in fields:
File "C:UsersOmkardjango_projectsmyenvlibsite-packagesrest_frameworkserializers.py", line 368, in _readable_fields
for field in self.fields.values():
AttributeError: 'list' object has no attribute 'values'
[28/Sep/2022 23:38:46] "GET /home/ HTTP/1.1" 500 116700

我在控制台中收到这个错误。我需要做什么?

在您的序列化程序中添加类元,如下所示:

from rest_framework import serializers
from .models import Student

class StudentForm(serializers.ModelSerializer):
class Meta: 
model = Student
fields = ['Student_Name','Father_Name','Contact','Address']

是的,兄弟,我忘了写这是我的错

相关内容

最新更新