Commit e71e0504 authored by Rafal's avatar Rafal

Add api filter by tag name

parent d3900df3
......@@ -25,6 +25,8 @@ router.register(r'user_friendship', user_views.UserFriendshipViewSet)
router.register(r'user_event_request', user_views.UserEventRequestViewSet)
router.register(r'user_event', user_views.UserEventViewSet)
router.register(r'user_api', user_views.UserAPIViewSet)
router.register(r'tag_api', tag_views.TagApiViewSet)
urlpatterns = patterns('',
......
from rest_framework import viewsets, permissions
from app.API.models import API
from app.API.serializers import APISerializer
from app.Tag.models import Tag
from app.Tag.serializers import TagSerializer
from django.shortcuts import get_object_or_404
import rest_framework
from rest_framework.response import Response
class TagViewSet(viewsets.ModelViewSet):
"""
......@@ -10,3 +14,22 @@ class TagViewSet(viewsets.ModelViewSet):
queryset = Tag.objects.all()
serializer_class = TagSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
class TagApiViewSet(viewsets.ModelViewSet):
"""
API for articles
"""
queryset = Tag.objects.all()
serializer_class = TagSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def list(self, request, *args, **kwargs):
return Response(status=rest_framework.status.HTTP_400_BAD_REQUEST, data={"Request name of tag! Provide it by '../tag_name/"})
def retrieve(self, request, pk):
tag = get_object_or_404(self.queryset, name__iexact=pk)
queryset = API.objects.filter(tag=tag)
page = self.paginate_queryset(queryset)
serializer = APISerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment