path('lists/<slug:slug>/', views.ListView.as_view()),
path('lists/<slug:slug>/items/', views.ListItemListViewV3.as_view()),
path('list-items/', views.ListItemsView.as_view()),
+ path('list-items/book/<slug:book>/', views.ListItemsForBook.as_view()),
path('list-items/<uuid:uuid>/', views.ListItemViewV3.as_view()),
path('lists/<slug:slug>/<slug:book>/', views.ListItemViewV2.as_view()),
serializer.save(list=lst)
+@never_cache
+class ListItemsForBook(ListAPIView):
+ permission_classes = [IsAuthenticated]
+ serializer_class = serializers.UserListItemReadSerializer
+
+ def get_queryset(self):
+ book = get_object_or_404(catalogue.models.Book, slug=self.kwargs['book'])
+ return models.UserListItem.objects.filter(
+ list__user=self.request.user,
+ book=book,
+ )
+
+
class ListItemsView(APIView):
permission_classes = [IsAuthenticated]