Любая помощь, почему здесь возвращается один и тот же статус в каждом объекте?

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

Моя конечная точка:

    path('filter/', SearchUserByStringAPIView.as_view()),

Мое мнение:

class SearchUserByStringAPIView(ListAPIView):

    queryset = User.objects.all()
    serializer_class = UserProfileSerializer
    permission_classes = [IsAuthenticated]

    def get_queryset(self):
        queryset = self.queryset.filter(username__icontains=self.request.query_params.get('search'))
        return queryset

Мой сериализатор:

class UserProfileSerializer(serializers.ModelSerializer):

    friendship = serializers.SerializerMethodField()

    def get_friendship(self, obj):

        user_obj = self.instance.values_list('id')
        friends_obj = Friend.objects.filter(Q(receiver=self.context['request'].user) | Q(requester=self.context['request'].user)).values_list('requester', 'receiver', 'status')
        if not friends_obj:
            pass
        else:
            for f in friends_obj:
                for i in user_obj:
                    if int(i[0]) in f:
                        return str(f[2])
                    pass


    class Meta:

        model = User
        fields = ['id', 'username', 'about_me', 'avatar', 'friendship']

Мой ответ:

[
    {
        "id": 2,
        "username": "BB",
        "about_me": "",
        "avatar": null,
        "friendship": "A"
    },
    {
        "id": 3,
        "username": "BiG",
        "about_me": "",
        "avatar": "http://127.0.0.1:8000/media-files/BigG/Screen_Shot_2022-11-14_at_22.06.55.png",
        "friendship": "A"
    },
    {
        "id": 7,
        "username": "babybabybear",
        "about_me": "",
        "avatar": null,
        "friendship": "A"
    },
    {
        "id": 13,
        "username": "shadabjamil",
        "about_me": "",
        "avatar": null,
        "friendship": "A"
    },
    {
        "id": 14,
        "username": "sirberkut",
        "about_me": "",
        "avatar": null,
        "friendship": "A"
    },
    {
        "id": 17,
        "username": "buddlehman",
        "about_me": "",
        "avatar": null,
        "friendship": "A"
    },
    {
        "id": 20,
        "username": "tforbes",
        "about_me": "",
        "avatar": null,
        "friendship": "A"
    },
    {
        "id": 30,
        "username": "ol99bg",
        "about_me": "",
        "avatar": null,
        "friendship": "A"
    }
]

Теперь это пользователи из моего поиска, и согласно моему объекту Friend только первые 2 пользователя должны иметь статус 'A', а остальные не должны иметь никакого статуса

Что я делаю не так?

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