Получена ошибка AttributeError при попытке получить значение для поля `name` на сериализаторе. Объект 'QuerySet' не имеет атрибута 'name'

Сериализатор Djano Rest API не извлекает только набор данных, но и определения полей.

#Модель:

class Comp(models.Model):    
    name = models.CharField(max_length=100)
    area = models.CharField(max_length=25,blank=True,null=True)

#Serializer:

from rest_framework import serializers
class CompSerializer(serializers.ModelSerializer):
    class Meta:
        model = Comp
        fields = ('__all__')
    

#View:

@api_view(['GET'])
def getComp(request,pk=None):
    co = Comp.objects.all()
    serializer = CompSerializer(co)
    print (serializer)
    return JsonResponse(serializer.data,safe=False) 

#Печатный вывод:

CompSerializer(<QuerySet [{'id': 1, 'name': 'My Company 1'}, {'id': 2, 'name': 'My Company 2'}]>): id = IntegerField(label='ID', read_only=True) name = CharField(max_length=100) area = CharField(allow_blank=True, allow_null=True, max_length=25, required=False)

#Ошибка вызова API в Webbrowser:

Значение исключения:
Получена ошибка AttributeError при попытке получить значение для поля name на сериализаторе CompSerializer. Поле сериализатора может быть названо неправильно и не соответствовать какому-либо атрибуту или ключу экземпляра QuerySet. Оригинальный текст исключения был: 'QuerySet' object has no attribute 'name'

Вернуться на верх