fnp
/
wolnelektury.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ea53c59
)
book search
author
Radek Czajka
<rczajka@rczajka.pl>
Tue, 4 Mar 2025 14:53:59 +0000
(15:53 +0100)
committer
Radek Czajka
<rczajka@rczajka.pl>
Tue, 4 Mar 2025 14:53:59 +0000
(15:53 +0100)
src/catalogue/api/views.py
patch
|
blob
|
history
diff --git
a/src/catalogue/api/views.py
b/src/catalogue/api/views.py
index
5afec17
..
dac1968
100644
(file)
--- a/
src/catalogue/api/views.py
+++ b/
src/catalogue/api/views.py
@@
-9,7
+9,8
@@
from django.core.files.base import ContentFile
from django.http import Http404, HttpResponse
from django.utils.decorators import method_decorator
from django.views.decorators.cache import never_cache
from django.http import Http404, HttpResponse
from django.utils.decorators import method_decorator
from django.views.decorators.cache import never_cache
-from django_filters import rest_framework as filters
+from django_filters import rest_framework as dfilters
+from rest_framework import filters
from rest_framework.generics import (ListAPIView, RetrieveAPIView,
RetrieveUpdateAPIView, get_object_or_404)
from rest_framework.permissions import DjangoModelPermissionsOrAnonReadOnly
from rest_framework.generics import (ListAPIView, RetrieveAPIView,
RetrieveUpdateAPIView, get_object_or_404)
from rest_framework.permissions import DjangoModelPermissionsOrAnonReadOnly
@@
-184,14
+185,14
@@
class BookList(LegacyListAPIView):
return Response({}, status=status.HTTP_201_CREATED)
return Response({}, status=status.HTTP_201_CREATED)
-class BookFilter(filters.FilterSet):
- sort = filters.OrderingFilter(
+class BookFilter(
d
filters.FilterSet):
+ sort =
d
filters.OrderingFilter(
fields=(
('sort_key_author', 'alpha'),
('popularity', 'popularity'),
)
)
fields=(
('sort_key_author', 'alpha'),
('popularity', 'popularity'),
)
)
- tag = filters.ModelMultipleChoiceFilter(
+ tag =
d
filters.ModelMultipleChoiceFilter(
field_name='tag_relations__tag',
queryset=Tag.objects.filter(category__in=('author', 'epoch', 'genre', 'kind')),
conjoined=True,
field_name='tag_relations__tag',
queryset=Tag.objects.filter(category__in=('author', 'epoch', 'genre', 'kind')),
conjoined=True,
@@
-202,8
+203,14
@@
class BookList2(ListAPIView):
permission_classes = [DjangoModelPermissionsOrAnonReadOnly]
queryset = Book.objects.none() # Required for DjangoModelPermissions
serializer_class = serializers.BookSerializer2
permission_classes = [DjangoModelPermissionsOrAnonReadOnly]
queryset = Book.objects.none() # Required for DjangoModelPermissions
serializer_class = serializers.BookSerializer2
- filter_backends = (filters.DjangoFilterBackend,)
+ filter_backends = (
+ dfilters.DjangoFilterBackend,
+ filters.SearchFilter,
+ )
filterset_class = BookFilter
filterset_class = BookFilter
+ search_fields = [
+ 'title',
+ ]
def get_queryset(self):
books = Book.objects.all()
def get_queryset(self):
books = Book.objects.all()