diff --git a/core/views.py b/core/views.py index 9746368..112aa7a 100644 --- a/core/views.py +++ b/core/views.py @@ -1,3 +1,4 @@ +from django_filters.rest_framework import DjangoFilterBackend from rest_framework import viewsets, mixins, routers from rest_framework.filters import SearchFilter, OrderingFilter from rest_framework.viewsets import GenericViewSet @@ -24,10 +25,10 @@ class ImageViewSet(mixins.CreateModelMixin, GenericViewSet): class PinViewSet(viewsets.ModelViewSet): queryset = Pin.objects.all() serializer_class = api.PinSerializer - filter_backends = (SearchFilter, OrderingFilter) - search_fields = ('=submitter__username', ) - ordering_fields = ('id', ) - ordering = ('id', ) + filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter) + filter_fields = ("submitter__username", 'tags__name', ) + ordering_fields = ('-id', ) + ordering = ('-id', ) permission_classes = [IsOwnerOrReadOnly("submitter"), ] diff --git a/pinry/static/js/pinry.js b/pinry/static/js/pinry.js index 9451149..390b263 100644 --- a/pinry/static/js/pinry.js +++ b/pinry/static/js/pinry.js @@ -118,7 +118,7 @@ $(window).load(function() { // Fetch our pins from the api using our current offset var apiUrl = API_BASE + 'pins/?format=json&ordering=-id&limit=50&offset='+String(offset); - if (tagFilter) apiUrl = apiUrl + '&tag=' + tagFilter; + if (tagFilter) apiUrl = apiUrl + '&tags__name=' + tagFilter; if (userFilter) apiUrl = apiUrl + '&submitter__username=' + userFilter; $.get(apiUrl, function(pins_page) { // Set which items are editable by the current user