from django.views.generic.detail import DetailView
from utils.views import PaginatedListView, LuxDetailView

from .models import Book


class BookListView(PaginatedListView):
    model = Book

    def get_queryset(self):
        return Book.objects.filter(is_public=True).order_by('-read_date').select_related()


class BookDetailView(LuxDetailView):
    model = Book
    slug_field = "slug"