Django REST Framework Static ViewSet
A need arose to create an endpoint to hold utility functions, so I created a basic static ViewSet. By doing so, I could still leverage all of the advantages of DRF's routers, while avoiding creation of a placeholder model.
The snippets below include the ViewSet creation and DRF router binding.
ViewSet code
from rest_framework import viewsets
class UtilityViewSet(viewsets.ViewSet):
"""Static ViewSet which has utility actions"""
# Set the "queryset" to whichever model permissions should checked against
# See "Using with views that do not include a queryset"
# https://www.django-rest-framework.org/api-guide/permissions/
queryset = User.objects.none() # Required for DjangoModelPermissions
def list(self, request):
return Response({"description": "Endpoint used to bind general utility functions"})
Router code
from rest_framework.routers import DefaultRouter
router.register("utility", UtilityViewSet, basename="utility")