views.py 935 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from rest_framework.viewsets import ModelViewSet
  2. from circuits.models import Provider, CircuitType, Circuit
  3. from circuits.filters import CircuitFilter
  4. from extras.api.views import CustomFieldModelViewSet
  5. from . import serializers
  6. #
  7. # Providers
  8. #
  9. class ProviderViewSet(CustomFieldModelViewSet):
  10. """
  11. List and retrieve circuit providers
  12. """
  13. queryset = Provider.objects.all()
  14. serializer_class = serializers.ProviderSerializer
  15. #
  16. # Circuit Types
  17. #
  18. class CircuitTypeViewSet(ModelViewSet):
  19. """
  20. List and retrieve circuit types
  21. """
  22. queryset = CircuitType.objects.all()
  23. serializer_class = serializers.CircuitTypeSerializer
  24. #
  25. # Circuits
  26. #
  27. class CircuitViewSet(CustomFieldModelViewSet):
  28. """
  29. List and retrieve circuits
  30. """
  31. queryset = Circuit.objects.select_related('type', 'tenant', 'provider')
  32. serializer_class = serializers.CircuitSerializer
  33. filter_class = CircuitFilter