Получение последней записи по id в Django Serializer не работает должным образом

Я пытаюсь получить ID последней записи в классе ActiveSession. Я протестировал приведенное ниже представление и оно показывает нормальные результаты на обычной странице, но когда я пытаюсь реализовать то же самое в моем API, я продолжаю получать 'ActiveSession' object is not iterable. Вот модель:

class ActiveSession(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, blank=True, null=True)
    log = models.ManyToManyField(Log, related_name='savedlogs')

Вот serializers.py

class ActiveSessionSerializer(serializers.ModelSerializer):
    class Meta:
        model= ActiveSession
        fields = '__all__'

Вот api.views

@api_view(['GET'])
@permission_classes([AllowAny])
def getActiveSession(request, **kwargs):
    user = get_object_or_404(User, username=request.user)
    print(user)
    last_active_session = ActiveSession.objects.filter(user=user).latest('id')
    serializer = ActiveSessionSerializer(last_active_session, many=True)
    print(serializer)
    return Response(serializer.data)

вот трассировка:

Traceback (most recent call last):
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\django\views\generic\base.py", line 103, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\views.py", line 480, in raise_uncaught_exception
    raise exc
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\decorators.py", line 50, in handler
    return func(*args, **kwargs)
  File "C:\Users\User\Desktop\Project\api\views.py", line 67, in getActiveSession
    return Response(serializer.data)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\serializers.py", line 768, in data
    ret = super().data
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\serializers.py", line 253, in data
    self._data = self.to_representation(self.instance)
  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\serializers.py", line 686, in to_repr  File "C:\Users\User\Desktop\Project\venv\lib\site-packages\rest_framework\serializers.py", line 686, in to_repr
esentation
    return [
TypeError: 'ActiveSession' object is not iterable

Мой вопрос:

Почему один и тот же код работает на веб-странице, а при отправке его в качестве API возвращается ошибка not iterable. Что это значит и как это исправить?

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