21 lines
728 B
Python
21 lines
728 B
Python
from rest_framework import viewsets
|
|
|
|
from apps.shelf_items.models import ShelfItem
|
|
from apps.shelf_items.serializers import ShelfItemSerializer
|
|
from rest_framework import viewsets
|
|
from rest_framework.permissions import IsAuthenticated
|
|
from rest_framework_simplejwt.authentication import JWTAuthentication
|
|
|
|
|
|
class ShelfItemsViewSet(viewsets.ModelViewSet):
|
|
queryset = ShelfItem.objects.all()
|
|
serializer_class = ShelfItemSerializer
|
|
|
|
authentication_classes = [JWTAuthentication]
|
|
permission_classes = [IsAuthenticated]
|
|
|
|
def get_queryset(self):
|
|
return ShelfItem.objects.filter(
|
|
shelf__user_id=self.request.user.pk,
|
|
).select_related("book", "shelf").prefetch_related("book__authors")
|