views.py 1.4 KB

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