Django REST framework возвращает пустой набор запросов, хотя shell/print возвращает элементы

Мой JSON-ответ на GET http://localhost:8000/v1/tags/search имеет вид

[]

Но он должен содержать список тегов.

Я зарегистрировал маршрут в DRF:

router.register(r"tags/search", TagSearchViewSet, basename='tag-search-list')

Вид:

from taggit.models import Tag

class TagSearchViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
    serializer_class = TagSearchSerializer
    paginator = None

    def get_queryset(self):
        queryset = Tag.objects.all()
        print(queryset)
        return queryset

Сериализатор:

from taggit.models import Tag

class TagSearchSerializer(serializers.ModelSerializer):
    class Meta:
        model = Tag
        fields = '__all__'

Такое утверждение print() распечатывается

<QuerySet [<Tag: something>, <Tag: else>, <Tag: mytag2>, <Tag: mytag1>, <Tag: mytag3>, <Tag: mytag4>]>

В python manage.py shell я также могу вывести теги, используя

> from taggit.models import Tag
> tags = Tag.objects.all()
> tags
  <QuerySet [<Tag: something>, <Tag: else>, <Tag: mytag2>, <Tag: mytag1>, <Tag: mytag3>, <Tag: mytag4>]>

Почему ответ является пустым списком?

Это была проблема с разрешением. Добавление filter_backends = [] к TagSearchViewSet исправило это.

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