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問題。 –