1👍
✅
Because you made an override of the filter_queryset
, it will no longer work with the filter_backends
to filter the data. You should filter the queryset further, by making a super call:
class PostList(generics.ListCreateAPIView):
# …
def filter_queryset(self, queryset):
ordering = self.request.GET.get('order_by', None)
author = self.request.GET.get('author', None)
# filter queryset with filter_backends 🖟
queryset = super().filter_queryset(queryset)
if ordering == 'blog_views':
queryset = queryset.annotate(
address_views_count=Count('address_views')
).order_by('-address_views_count')
if author:
queryset = queryset.filter(owner__email=author)
return queryset
Source:stackexchange.com