Получить членство пользователя в django

Мне нужно получить, если запрос пользователя имеет членство на моем сайте или нет, но я получил ошибку, может ли кто-нибудь помочь мне? модель членства пользователя такова


    class UserMembership(models.Model):
    user = models.ForeignKey('accounts.User', on_delete=models.CASCADE, related_name='user_membership')
    membership = models.ForeignKey(Membership, on_delete=models.DO_NOTHING, null=True, related_name='membership')

    def __str__(self):
        return self.user.email

сериализатор является :


    class UserMemberShipSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserMembership
        fields = ['id', 'user', 'membership']

и вид есть


    class MembershipView(viewsets.ModelViewSet):
    model = UserMembership
    serializer_class = UserMemberShipSerializer

    def get_user_membership(self):
        user_membership_qs = UserMembership.objects.get(user=self.request.user)
        print(user_membership_qs)
        if user_membership_qs.exists():
            return user_membership_qs.first()

    def get_queryset(self):
        current_membership = self.get_user_membership(self.request)
        return current_membership

и ошибка находится в этой строке


            current_membership = self.get_user_membership(self.request)

ошибка в том, что 'current_membership = self.get_user_membership(self.request) TypeError: get_user_membership() принимает 1 позиционный аргумент, но было задано 2'

Удалите "self.request" из входа функции get_user_membership:

current_membership = self.get_user_membership()

или добавить "request" в качестве arg к функции:

    def get_user_membership(self,request):
        user_membership_qs = UserMembership.objects.get(user=request.user)
        print(user_membership_qs)
        if user_membership_qs.exists():
            return user_membership_qs.first()
Вернуться на верх