Issue
I defined DjangoFilterBackend
inside filter_backends
and added (tried to) the correct definitions as shown in filter_fields
. It does not give any error in url search but it does not give any result (as filtered) in shown URL:
http://127.0.0.1:8000/api/publicusers/?deliveredtotime__lte=50
class User(AbstractUser, PermissionsMixin):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
username = models.CharField(max_length=40, unique=True, default='undefinedusername')
deliveredtotime = models.IntegerField(default='0')
class PublicUserViewSet(viewsets.ModelViewSet):
permission_classes = (IsAuthenticated,)
queryset = User.objects.all()
serializer_class = UserSerializer
filter_backends = [filters.SearchFilter,DjangoFilterBackend]
pagination_class = StandardResultsSetPagination
filter_fields = { 'deliveredtotime': ['gte', 'lte'] }
What am I doing wrong?
Solution
has been renamed to filter_fields
filterset_fields
since django-filter-22.1:
class PublicUserViewSet(viewsets.ModelViewSet):
permission_classes = (IsAuthenticated,)
queryset = User.objects.all()
serializer_class = UserSerializer
filter_backends = [filters.SearchFilter, DjangoFilterBackend]
pagination_class = StandardResultsSetPagination
filterset_fields = {
'deliveredtotime': ['gte', 'lte']
} # 🖘 not filter_fields
Answered By - willeM_ Van Onsem
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.