diff --git a/program/utils.py b/program/utils.py
index cebde5419319d98feb58096bed21f38aba26b0ae..aff939562d1261d06c94280bfa9cb5aa7452f5a3 100644
--- a/program/utils.py
+++ b/program/utils.py
@@ -24,7 +24,6 @@ from datetime import date, datetime, time
 from typing import Dict, Optional, Tuple, Union
 
 import requests
-from rest_framework import exceptions
 
 from django.conf import settings
 from django.utils import timezone
@@ -126,22 +125,3 @@ def delete_links(instance: Union["Host", "Note", "Show"]) -> Union["Host", "Note
             link.delete(keep_parents=True)
 
     return instance
-
-
-class NestedObjectFinderMixin:
-    ROUTE_FILTER_LOOKUPS = {}
-
-    def _get_route_filters(self) -> Dict[str, int]:
-        filter_kwargs = {}
-        for key, value in self.kwargs.items():
-            if key in self.ROUTE_FILTER_LOOKUPS:
-                try:
-                    filter_kwargs[self.ROUTE_FILTER_LOOKUPS[key]] = int(value)
-                except ValueError:
-                    raise exceptions.ValidationError(
-                        detail=f"{key} must map to an integer value.", code="invalid-pk"
-                    )
-        return filter_kwargs
-
-    def get_queryset(self):
-        return super().get_queryset().filter(**self._get_route_filters())
diff --git a/program/views.py b/program/views.py
index 772cdf57145a5fca335964f991ae0f7e5d89daea..42593a8a78db2e71a99f5bd4d468cf94fb0641fe 100644
--- a/program/views.py
+++ b/program/views.py
@@ -80,7 +80,7 @@ from program.serializers import (
     UserSerializer,
 )
 from program.services import get_timerange_timeslots, resolve_conflicts
-from program.utils import NestedObjectFinderMixin, get_values, parse_date
+from program.utils import get_values, parse_date
 
 logger = logging.getLogger(__name__)
 
@@ -514,14 +514,7 @@ class APIRRuleViewSet(viewsets.ModelViewSet):
     destroy=extend_schema(summary="Delete an existing schedule."),
     list=extend_schema(summary="List all schedules."),
 )
-class APIScheduleViewSet(
-    NestedObjectFinderMixin,
-    viewsets.ModelViewSet,
-):
-    ROUTE_FILTER_LOOKUPS = {
-        "show_pk": "show",
-    }
-
+class APIScheduleViewSet(viewsets.ModelViewSet):
     filterset_class = filters.ScheduleFilterSet
     pagination_class = LimitOffsetPagination
     queryset = Schedule.objects.all()
@@ -648,18 +641,12 @@ class APIScheduleViewSet(
     ),
 )
 class APITimeSlotViewSet(
-    NestedObjectFinderMixin,
     mixins.RetrieveModelMixin,
     mixins.UpdateModelMixin,
     mixins.DestroyModelMixin,
     mixins.ListModelMixin,
     viewsets.GenericViewSet,
 ):
-    ROUTE_FILTER_LOOKUPS = {
-        "show_pk": "schedule__show",
-        "schedule_pk": "schedule",
-    }
-
     filterset_class = filters.TimeSlotFilterSet
     pagination_class = LimitOffsetPagination
     queryset = TimeSlot.objects.all().order_by("-start")
@@ -696,15 +683,7 @@ class APITimeSlotViewSet(
     destroy=extend_schema(summary="Delete an existing note."),
     list=extend_schema(summary="List all notes."),
 )
-class APINoteViewSet(
-    NestedObjectFinderMixin,
-    viewsets.ModelViewSet,
-):
-    ROUTE_FILTER_LOOKUPS = {
-        "show_pk": "timeslot__show",
-        "timeslot_pk": "timeslot",
-    }
-
+class APINoteViewSet(viewsets.ModelViewSet):
     filterset_class = filters.NoteFilterSet
     pagination_class = LimitOffsetPagination
     serializer_class = NoteSerializer