筛选器集上的Django REST API正则表达式

时间:2019-09-27 17:56:02

标签: django django-rest-framework

我正在尝试让regex使用其余API与Django视图一起使用。该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',
    )

我尝试将$添加到filterset中的主机名,但是出现错误,没有字段匹配。它似乎确实将$作为正则表达式读取。不确定是否仅在SEARCH字段中有效。过滤器字段和搜索字段之间仍然有些混淆。本质上,我正在尝试使其能够执行类似/api/servers/?hostname=.name.&system_model=.hp的搜索。基本上允许针对正则表达式的搜索过滤器字段(如果有意义)。

0 个答案:

没有答案