Как вернуть набор запросов о дружбе в DRF ListAPIView?

Я использую это приложение django в моем интерфейсе API django rest Framework(DRF) для управления двунаправленной дружбой между пользователями моего приложения для Android. В одном из моих представлений DRF я хочу вернуть набор запросов всех непрочитанных запросов друзей пользователя. В документах о дружбе с джанго говорится, что

Список всех непрочитанных запросов дружбы:

Friend.objects.unread_requests(user=request.user)

Вот мой список APIView:

class ListUnseenFriendRequests(generics.ListAPIView):
    serializer_class = serializers.FriendRequestSerializer
    permission_classes = (IsAuthenticated,)

    def get_queryset(self):
        return Friend.objects.unread_requests(user=self.request.user)

Сериализатор FriendRequestSerializer выглядит так:

class FriendRequestSerializer(serializers.Serializer):
    from_user = models.ForeignKey(User, related_name='friendship_requests_sent')
    to_user = models.ForeignKey(User, related_name='friendship_requests_received')
    created = models.DateTimeField(default=timezone.now)

Я использую те же имена полей в сериализаторе, что и модель FriendshipRequest в исходном коде django-Friends.

Когда я запускаю сервер и делаю api-запрос к соответствующей конечной точке / Friendship / List-Unseen-Friend-запросы /, JSON ответ выглядит следующим образом:

[
    {},
    {},
    {}
]

Я отправил 3 запроса на добавление в друзья этому пользователю, поэтому номер правильный, но все они нулевые.

Как мне исправить это так, что запросы на добавление в друзья не возвращаются?

Я попытался изменить сериализатор на ModelSerializer следующим образом:

class FriendRequestSerializer(serializers.ModelSerializer):
    class Meta:
        model = FriendshipRequest
        fields = ('from_user', 'to_user', 'created')

Результатом является следующее, когда вызывается конечная точка API:

AttributeError: 'tuple' object has no attribute 'values'
[31/Jul/2017 08:26:32] "GET /friendship/list-unseen-friend-requests/ HTTP/1.1" 500 16150

0 ответов

Другие вопросы по тегам