Можно ли объединить фильтр поиска с фильтром FillterSet, выражение поиска которого не является «точным»? - PullRequest
1 голос
/ 26 мая 2019

Я хочу объединить поисковый фильтр с фильтром FIlterSet, который не имеет стандартного lookup_expression.

Я попытался добавить эту конфигурацию для своей конечной точки:

filter_backends = (filters.SearchFilter, DjangoFilterBackend)
    search_fields = ('username', 'full_name')
    filterset_fields = 'username',

Это работает хорошо, но янужно startswith поиск для username в filterset_fields

Вот моя конечная точка

class UsersAPIView(generics.ListAPIView):
    serializer_class = CreatorSerializer
    filter_backends = (filters.SearchFilter, DjangoFilterBackend)
    search_fields = ('username', 'full_name')
    filterset_fields = 'username',
    queryset = User.objects.all()

    #filter_class = UserFilter

И мой фильтр:

class UserFilter(filters.FilterSet, ):
    username = filters.CharFilter(field_name='username', lookup_expr='startswith')

    class Meta:
        model = User
        fields = 'username',

Если я начнуиспользовать UserFilter, а SearchFilter будет отключен.

...