Skip to content

Commit 7bb343a

Browse files
committed
Simplify queryset handling in list APIs
1 parent 4883934 commit 7bb343a

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

app/api/views.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ def get(self, request, *args, **kwargs):
4242

4343

4444
class ProjectList(generics.ListCreateAPIView):
45-
queryset = Project.objects.all()
4645
serializer_class = ProjectPolymorphicSerializer
4746
pagination_class = None
4847
permission_classes = (IsAuthenticated, IsAdminUserAndWriteOnly)
@@ -109,14 +108,13 @@ def post(self, request, *args, **kwargs):
109108

110109

111110
class LabelList(generics.ListCreateAPIView):
112-
queryset = Label.objects.all()
113111
serializer_class = LabelSerializer
114112
pagination_class = None
115113
permission_classes = (IsAuthenticated, IsProjectUser, IsAdminUserAndWriteOnly)
116114

117115
def get_queryset(self):
118-
queryset = self.queryset.filter(project=self.kwargs['project_id'])
119-
return queryset
116+
project = get_object_or_404(Project, pk=self.kwargs['project_id'])
117+
return project.labels
120118

121119
def perform_create(self, serializer):
122120
project = get_object_or_404(Project, pk=self.kwargs['project_id'])
@@ -131,7 +129,6 @@ class LabelDetail(generics.RetrieveUpdateDestroyAPIView):
131129

132130

133131
class DocumentList(generics.ListCreateAPIView):
134-
queryset = Document.objects.all()
135132
serializer_class = DocumentSerializer
136133
filter_backends = (DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter)
137134
search_fields = ('text', )
@@ -143,7 +140,7 @@ class DocumentList(generics.ListCreateAPIView):
143140
def get_queryset(self):
144141
project = get_object_or_404(Project, pk=self.kwargs['project_id'])
145142

146-
queryset = self.queryset.filter(project=project)
143+
queryset = project.documents
147144

148145
if project.randomize_document_order:
149146
queryset = queryset.annotate(sort_id=F('id') % self.request.user.id).order_by('sort_id')

0 commit comments

Comments
 (0)