mirror of
https://github.com/bugsink/bugsink.git
synced 2025-12-20 20:41:01 -06:00
API: leave notes on get_object's future
This commit is contained in:
@@ -70,6 +70,7 @@ class EventViewSet(AtomicRequestMixin, viewsets.ReadOnlyModelViewSet):
|
||||
"""
|
||||
DRF's get_object(), but we intentionally bypass filter_queryset for detail routes to keep PK lookups
|
||||
db-index-friendly (no WHERE filters other than the PK which is already indexed).
|
||||
# NOTE: alternatively, we just complain hard when a filter is applied to a detail view.
|
||||
"""
|
||||
queryset = self.get_queryset() # no filter_queryset() here
|
||||
|
||||
|
||||
@@ -117,6 +117,7 @@ class IssueViewSet(AtomicRequestMixin, viewsets.ReadOnlyModelViewSet):
|
||||
"""
|
||||
DRF's get_object(), but bypass filter_queryset for detail.
|
||||
"""
|
||||
# NOTE: alternatively, we just complain hard when a filter is applied to a detail view.
|
||||
# TODO: copy/paste from events/api_views.py
|
||||
queryset = self.get_queryset()
|
||||
|
||||
|
||||
@@ -65,6 +65,7 @@ class ProjectViewSet(AtomicRequestMixin, ExpandViewSetMixin, viewsets.ModelViewS
|
||||
|
||||
def get_object(self):
|
||||
# Pure PK lookup (bypass filter_queryset)
|
||||
# NOTE: alternatively, we just complain hard when a filter is applied to a detail view.
|
||||
queryset = self.get_queryset()
|
||||
lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
|
||||
obj = get_object_or_404(queryset, **{self.lookup_field: self.kwargs[lookup_url_kwarg]})
|
||||
|
||||
@@ -35,6 +35,7 @@ class TeamViewSet(AtomicRequestMixin, viewsets.ModelViewSet):
|
||||
|
||||
def get_object(self):
|
||||
# Pure PK lookup (bypass filter_queryset)
|
||||
# NOTE: alternatively, we just complain hard when a filter is applied to a detail view.
|
||||
queryset = self.get_queryset()
|
||||
lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
|
||||
obj = get_object_or_404(queryset, **{self.lookup_field: self.kwargs[lookup_url_kwarg]})
|
||||
|
||||
Reference in New Issue
Block a user