mirror of
https://github.com/jlengrand/bugsink.git
synced 2026-03-10 08:01:17 +00: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
|
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).
|
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
|
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.
|
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
|
# TODO: copy/paste from events/api_views.py
|
||||||
queryset = self.get_queryset()
|
queryset = self.get_queryset()
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ class ProjectViewSet(AtomicRequestMixin, ExpandViewSetMixin, viewsets.ModelViewS
|
|||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
# Pure PK lookup (bypass filter_queryset)
|
# 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()
|
queryset = self.get_queryset()
|
||||||
lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
|
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]})
|
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):
|
def get_object(self):
|
||||||
# Pure PK lookup (bypass filter_queryset)
|
# 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()
|
queryset = self.get_queryset()
|
||||||
lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
|
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]})
|
obj = get_object_or_404(queryset, **{self.lookup_field: self.kwargs[lookup_url_kwarg]})
|
||||||
|
|||||||
Reference in New Issue
Block a user