Advertisement
matacoder

Untitled

Oct 22nd, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.14 KB | None | 0 0
  1. from django_filters import rest_framework as filters
  2. from .models import Post
  3.  
  4.  
  5. class PostFilter(filters.FilterSet):
  6.     date_from = filters.DateRangeFilter(field_name="pub_date", lookup_expr='gte')
  7.     date_to = filters.DateRangeFilter(field_name="pub_date", lookup_expr='lte')
  8.    
  9.     class Meta:
  10.             model = Post
  11.             fields = ['date_from', 'date_to']
  12.  
  13.  
  14.  
  15. from rest_framework import generics, permissions
  16. from .models import Post
  17. from .serializers import PostSerializer
  18. from .filters import PostFilter
  19. from django_filters import rest_framework as filters
  20.  
  21. class PostList(generics.ListCreateAPIView):
  22.     queryset = Post.objects.all()
  23.     serializer_class = PostSerializer
  24.     permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
  25.     filter_backends = (filters.DjangoFilterBackend,)
  26.     filterset_class = PostFilter
  27.    
  28.     def perform_create(self, serializer):
  29.         serializer.save(author=self.request.user)
  30.  
  31.  
  32. class PostDetail(generics.RetrieveUpdateDestroyAPIView):
  33.     queryset = Post.objects.all()
  34.     serializer_class = PostSerializer
  35.     permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement