Возврат поля модели в наборе представлений django

У меня проблема с представлениями, я пытаюсь написать представление для возврата членства пользователя на сайте, но получаю ошибку membership model is:


    class Membership(models.Model):
    membership_type = models.CharField(
        choices=MEMBERSHIP_CHOICES,
        default='Free',
        max_length=30)
    price = models.DecimalField(max_digits=10, default=0, decimal_places=3)

    def __str__(self):
        return self.membership_type

членство пользователя:


    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',
                                   default='Free')

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

view is:


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

    def get_queryset(self):
        user_membership_qs = UserMembership.objects.get(user=self.request.user)
        if user_membership_qs:
            membership = user_membership_qs.membership
            return membership

Я тоже пробовал Return Response(membership), но ничего не получилось,

Ошибка: объект типа 'Membership' не имеет len()

Я нашел ответ на свою проблему что я должен сделать:


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

    def get_queryset(self):
        user_membership_qs = UserMembership.objects.get(user=self.request.user)
        if user_membership_qs:
            membership = user_membership_qs.membership
            return membership.membership.all()

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