Я хочу объединить поисковый фильтр с фильтром 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 будет отключен.