Возвращать поле bool в наборе представлений django

Я хочу вернуть булево поле модели в наборе представления, но у меня возникает ошибка

модель:

class AdviceRequests(models.Model):
    user = models.ForeignKey(
        'accounts.User', on_delete=models.CASCADE,
        related_name="user_advice_requests")
    ADVICE_REQUESTS = (
        ('Yes', 'yes'),
        ('No', 'no'),
    )
    phone_number = PhoneNumberField(
        default='+989121111111', null=False, blank=False)
    advice_requests = models.CharField(
        choices=ADVICE_REQUESTS,
        default='YES',
        max_length=10)
    active = models.BooleanField(default=False)

Мое мнение:

class AdviceRequestsActiveView(mixins.ListModelMixin, viewsets.GenericViewSet):
    serializer_class = AdviceRequestsSerializer

    def get_queryset(self, **kwargs):
        advice_req = AdviceRequests.objects.get(user=self.request.user)
        active = advice_req.active
        print(active)
        return active

У меня есть вопрос, когда пользователь приходит на мой сайт, например, нужен ли вам совет? После этого у меня есть булево поле с именем active, когда пользователь отвечает на вопрос, неважно, да или нет

поле должно быть True, как мы просили этого пользователя раньше, не спрашивайте снова. теперь я хочу вернуть это поле в представлении.

Ошибка: object of type 'bool' has no len()

вы можете обновить свой метод с помощью этого: основная проблема: вы используете AdviceRequests.objects.get и в то же время наследуете от ListModelMixin

необходимо использовать .all() или .filter()

или

вам нужно наследоваться от другого класса, чтобы получить один obj

и попробуйте это

 def get_queryset(self, **kwargs):
     advice_req = AdviceRequests.objects.get(user=self.request.user)
     active = advice_req.active
     data = { "active": active }
     return Response(data, status=200)
Вернуться на верх