Django REST API Regex на наборе фильтров - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь заставить регулярное выражение работать с моими представлениями Django, используя остальные API.Кажется, API работает нормально, но я не могу заставить его выполнять поиск с помощью регулярных выражений.В мои настройки включены внутренние фильтры.

    'DEFAULT_FILTER_BACKENDS': (
        'rest_framework_datatables.filters.DatatablesFilterBackend',
        'django_filters.rest_framework.DjangoFilterBackend',
        'rest_framework.filters.OrderingFilter',
        'rest_framework.filters.SearchFilter',
    ),

Примеры просмотров.

    queryset = Server.objects.all().order_by('hostname')
    serializer_class = ServerSerializer
    filterset_fields = (
        'hostname',
        'region',
        'system_model',
    )
    search_fields = (
        'hostname',
    )

Я попытался добавить $ к имени хоста в наборе фильтров, однако я получаю сообщение об ошибке, что поле отсутствуетСпички.Кажется, он читает $ как регулярное выражение.Не уверен, что это работает только в полях ПОИСК.Все еще немного запутан между полями фильтра и полями поиска.По сути, я пытаюсь получить его, чтобы позволить мне выполнить поиск, например /api/servers/?hostname=.name.&system_model=.hp. По сути, разрешить поиск регулярных выражений по фильтруполя, если это имеет смысл.

...