Commit b64fcdc9 authored by impfundev's avatar impfundev

feat: api search books, members, librarians, book loans

parent 041514f6
from rest_framework.filters import SearchFilter
from rest_framework.viewsets import ModelViewSet
from rest_framework.permissions import IsAuthenticated
from django_filters.rest_framework import DjangoFilterBackend
......@@ -25,30 +26,37 @@ class UserViewSet(ModelViewSet):
class BookViewSet(ModelViewSet):
queryset = Book.objects.all().order_by("created_at")
serializer_class = BookSerializer
filter_backends = [DjangoFilterBackend]
filter_backends = [DjangoFilterBackend, SearchFilter]
filterset_fields = ["title", "description"]
search_fields = filterset_fields
class MemberViewSet(ModelViewSet):
queryset = Members.objects.all().order_by("created_at")
serializer_class = MemberSerializer
filter_backends = [DjangoFilterBackend]
filter_backends = [DjangoFilterBackend, SearchFilter]
filterset_fields = ["name", "email"]
search_fields = filterset_fields
class LibrarianViewSet(ModelViewSet):
queryset = Librarians.objects.all().order_by("created_at")
serializer_class = LibrarianSerializer
filter_backends = [DjangoFilterBackend]
filter_backends = [DjangoFilterBackend, SearchFilter]
filterset_fields = ["name", "email"]
search_fields = filterset_fields
class BookLoanViewSet(ModelViewSet):
queryset = BookLoans.objects.all().order_by("created_at")
serializer_class = BookLoanSerializer
filter_backends = [DjangoFilterBackend]
filter_backends = [DjangoFilterBackend, SearchFilter]
filterset_fields = [
"book__title",
"member__name",
"librarians__name",
"loan_date",
"due_date",
"return_date",
]
search_fields = filterset_fields
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment