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
исправило это.