0
当试图在串行AthleteSerializer
得到一个值场 first_name
时,我得到了以下错误了AttributeError的试图获得价值领域的串行
了AttributeError的。序列化程序字段 可能命名错误,并且不匹配实例上的任何属性或键。原始异常文本是:'QuerySet'对象 没有属性'first_name'。
为什么我得到一个错误?
这是我的views.py:
from rest_framework.response import Response
from rest_framework.views import APIView
from .models import Athlete
from athletics.serializers import AthleteSerializer
class ListAthletes(APIView):
def get(self, request, format=None):
all_athletes = Athlete.objects.all()
import pdb; pdb.set_trace()
serializer = AthleteSerializer(all_athletes)
return Response(serializer.data)
这是我serializers.py
from rest_framework import serializers
from .models import Athlete
class AthleteSerializer(serializers.ModelSerializer):
class Meta:
model = Athlete
fields = (
'first_name',
'last_name'
)
这是我的models.py:
from django.db import models
class Athlete(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
如果你不介意我问一个后续问题。如果我想了解任何特定的Django函数和应该传递给它的参数,那么找到它的好地方是什么?当我谷歌我经常最终在djangoproject.com文件,这使得似乎很罗嗦,我必须阅读,才能明白哪些参数可以通过。 – user1283776
@ user1283776,我经常看django文档和stackoverflow问题。 –