20 lines
668 B
Python
20 lines
668 B
Python
from rest_framework import viewsets
|
|
|
|
from apps.books.models import Book
|
|
from apps.books.serializers import BookSerializer
|
|
from rest_framework import viewsets
|
|
from rest_framework.permissions import IsAuthenticated
|
|
from rest_framework_simplejwt.authentication import JWTAuthentication
|
|
|
|
class BooksViewSet(viewsets.ModelViewSet):
|
|
queryset = Book.objects.prefetch_related("authors")
|
|
serializer_class = BookSerializer
|
|
|
|
authentication_classes = [JWTAuthentication]
|
|
permission_classes = [IsAuthenticated]
|
|
|
|
def get_queryset(self):
|
|
return self.queryset.filter(
|
|
shelf__user_id=self.request.user.pk
|
|
).prefetch_related("authors")
|