views.py 910 B

12345678910111213141516171819202122232425262728
  1. # coding=utf-8
  2. from rest_framework import generics
  3. from rest_framework.exceptions import NotFound
  4. from utils.permission import IsCustomer
  5. from utils import response_ok
  6. from apps.collection.models import Collection
  7. from apps.collection.filters import CollectionFilter
  8. from .serializers import CollectionSerializer
  9. class CollectionListViewSet(generics.ListAPIView):
  10. permission_classes = [IsCustomer, ]
  11. queryset = Collection.objects.filter(delete=False)
  12. serializer_class = CollectionSerializer
  13. def filter_queryset(self, queryset):
  14. queryset = queryset.filter(customer=self.request.customer)
  15. f = CollectionFilter(self.request.GET, queryset=queryset)
  16. return f.qs
  17. def list(self, request, *args, **kwargs):
  18. try:
  19. data = super(CollectionListViewSet, self).list(request)
  20. except NotFound:
  21. return response_ok([])
  22. return data