Django Rest Framework возвращает {'detail': 'Not found.'} при тестировании, хотя показывает Data в URL

У меня есть следующий проект django со следующим views.py:

@api_view(['GET'])
@permission_classes([AllowAny])
def getItem(request, **kwargs):
    user = get_object_or_404(User, username=request.user)
    items=Item.objects.filter(user=user)
    serializer = ItemSerializer(items, many=True)
    return Response(serializer.data)

Вот serializer.py

class ItemSerializer(serializers.ModelSerializer):
    user = serializers.CharField(source="user.username", read_only=True)

    class Meta:
        model= Workout
        fields = '__all__'

Вот результат в Django Rest Framework URL:

Get Workout
GET /api/Shiko/items/
HTTP 200 OK
Allow: GET, OPTIONS
Content-Type: application/json
Vary: Accept

[
    {
        "id": 1,
        "user": "Shiko",
        "active": false,
        "name": "Item 1",
        "slug": null
    }
]

Тест с использованием Jupyter для проверки доступности данных:

import requests

data = requests.get(URL)
json_data = data.json()
print (json_data)

Мой вопрос:

Что может быть не так в моих настройках, что нужно изменить, чтобы возвращать достоверные данные в моем тестовом коде, зная, что данные в Json есть, но при тестировании они возвращаются не найденными.

Также я использовал IsAuthenticated, который вернул {'detail': 'Authentication credentials were not provided.'}, что означает, что тестовый код действителен.

Что я делаю неправильно и как мне исправить?

Я не понимаю вашей логики, потому что вы используете функцию get_object_or_404, чтобы попытаться получить реального пользователя из request.user, но ваше представление использует AllowAny, поэтому в некоторых случаях это поле может быть None, и ваш ответ может быть 404.

Возможно, вам нужно получить аутентификацию некоторого пользователя в вашем Jupyter "Testing Code"?

Но я думаю, что это плохая идея - тестировать код с помощью Jupyter, потому что это не тестовый случай или что-то другое.

Вы можете попробовать использовать Pytest https://docs.pytest.org/en/7.2.x/, coverage https://coverage.readthedocs.io/en/6.5.0/ для тестирования вашего кода, это очень просто и прекрасно!

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