views.py 977 B

1234567891011121314151617181920212223242526272829
  1. from rest_framework import viewsets
  2. from .models import ListModel
  3. from . import serializers
  4. from utils.page import MyPageNumberPagination
  5. from rest_framework.filters import OrderingFilter
  6. from django_filters.rest_framework import DjangoFilterBackend
  7. from .filter import Filter
  8. class APIViewSet(viewsets.ModelViewSet):
  9. """
  10. list:
  11. Response a data list(all)
  12. """
  13. pagination_class = MyPageNumberPagination
  14. filter_backends = [DjangoFilterBackend, OrderingFilter, ]
  15. ordering_fields = ['id', "create_time", "update_time", ]
  16. filter_class = Filter
  17. def get_queryset(self):
  18. if self.request.user:
  19. return ListModel.objects.filter(is_delete=False)
  20. else:
  21. return ListModel.objects.none()
  22. def get_serializer_class(self):
  23. if self.action in ['list']:
  24. return serializers.BinpropertyGetSerializer
  25. else:
  26. return self.http_method_not_allowed(request=self.request)