views.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from rest_framework import generics
  2. from circuits.models import Provider, CircuitType, Circuit
  3. from circuits.filters import CircuitFilter
  4. from .serializers import ProviderSerializer, CircuitTypeSerializer, CircuitSerializer
  5. class ProviderListView(generics.ListAPIView):
  6. """
  7. List all providers
  8. """
  9. queryset = Provider.objects.all()
  10. serializer_class = ProviderSerializer
  11. class ProviderDetailView(generics.RetrieveAPIView):
  12. """
  13. Retrieve a single provider
  14. """
  15. queryset = Provider.objects.all()
  16. serializer_class = ProviderSerializer
  17. class CircuitTypeListView(generics.ListAPIView):
  18. """
  19. List all circuit types
  20. """
  21. queryset = CircuitType.objects.all()
  22. serializer_class = CircuitTypeSerializer
  23. class CircuitTypeDetailView(generics.RetrieveAPIView):
  24. """
  25. Retrieve a single circuit type
  26. """
  27. queryset = CircuitType.objects.all()
  28. serializer_class = CircuitTypeSerializer
  29. class CircuitListView(generics.ListAPIView):
  30. """
  31. List circuits (filterable)
  32. """
  33. queryset = Circuit.objects.select_related('type', 'provider', 'site', 'interface__device')
  34. serializer_class = CircuitSerializer
  35. filter_class = CircuitFilter
  36. class CircuitDetailView(generics.RetrieveAPIView):
  37. """
  38. Retrieve a single circuit
  39. """
  40. queryset = Circuit.objects.select_related('type', 'provider', 'site', 'interface__device')
  41. serializer_class = CircuitSerializer