Когда я использую функцию поиска в моем API, я получаю сообщение об ошибке «Не удается разрешить ключевое слово« q / c »в поле. Возможные варианты:« XXX »». Q или c зависит от того, на какой странице API я нахожусь. Я полагаю, что «c» обозначает один из вариантов, а я предполагаю «q» - один из вопросов.
from rest_framework import generics
from . serializers import QuestionSerializer, ChoiceSerializer
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import OrderingFilter, SearchFilter
from polls.models import Choice, Question
# need to create a view for each serializer class QuestionList(generics.ListAPIView):
serializer_class = QuestionSerializer # set the serializer
queryset = Question.objects.all() # set the query set to all the objects of that view
filter_backends = (DjangoFilterBackend, OrderingFilter, SearchFilter) # allows for filters
filter_fields = {'id': ['gte', 'lte', 'exact'], 'pub_date': ['gte', 'lte']}
ordering_fields = ('id', 'question_text', 'pub_date')
search_fields = 'question_text'
class ChoiceList(generics.ListAPIView):
serializer_class = ChoiceSerializer
queryset = Choice.objects.all()
filter_backends = (DjangoFilterBackend, OrderingFilter, SearchFilter)
# trying to do greater than or less than filter fields stuff
filter_fields = {'id': ['gte', 'lte', 'exact'], 'votes': ['gte', 'lte', 'exact']}
ordering_fields = ('id', 'votes', 'choice_text', 'question',)
search_fields = 'choice_text'
Вот страница с ошибкой, которую я получаю, когда пытаюсь использовать поиск