Я получаю эту ошибку Ошибка атрибута, и я проверил опечатки, но не нашел ни одной.

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

моя модель


from django.db import models

# Create your models here


class UserDetails(models.Model):

    name = models.CharField(max_length=100)
    password = models.CharField(max_length=100)
    virtualId = models.TextField(null=True, blank=True)
    photo = models.ImageField(upload_to='uploads/')
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.name

сериализаторы:

from rest_framework.serializers import ModelSerializer
from .models import UserDetails


class UserDetailsSerializer(ModelSerializer):

    class Meta:
        model = UserDetails
        fields = '__all__'

просмотров :

from rest_framework.response import Response
from rest_framework.decorators import api_view
from .models import UserDetails
from .serializers import UserDetailsSerializer

# Create your views here.


@api_view(['GET'])
def getAllUserdata(request):

    user = UserDetails.objects.all()
    serializer = UserDetailsSerializer(user)
    return Response(serializer.data)

Поскольку вы передаете querysets, вы должны установить many=True в вашем serializers.

Из official документации

Чтобы сериализовать набор или список объектов вместо одного экземпляра объекта, необходимо передать параметр many=True

.

api_view(['GET'])
def getAllUserdata(request):

    user = UserDetails.objects.all()
    serializer = UserDetailsSerializer(user, many=True)
    return Response(serializer.data)
Вернуться на верх