X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/467b414abdf8b789bef9a71a69a497c64ec19b3f..ed7cd4d7271acd67bf366e4d320f9c49f07a50ea:/src/catalogue/views.py diff --git a/src/catalogue/views.py b/src/catalogue/views.py index 792ea700..e68c4a28 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -5,6 +5,9 @@ from django.db.models import Prefetch from django.views.generic import DetailView, TemplateView from . import models import documents.models +from rest_framework.generics import ListAPIView +from rest_framework.filters import SearchFilter +from rest_framework import serializers class CatalogueView(TemplateView): @@ -33,3 +36,23 @@ class AuthorView(TemplateView): class BookView(DetailView): model = models.Book + + +class TermSearchFilter(SearchFilter): + search_param = 'term' + + +class Terms(ListAPIView): + filter_backends = [TermSearchFilter] + search_fields = ['name'] + + class serializer_class(serializers.Serializer): + label = serializers.CharField(source='name') + + +class EpochTerms(Terms): + queryset = models.Epoch.objects.all() +class KindTerms(Terms): + queryset = models.Kind.objects.all() +class GenreTerms(Terms): + queryset = models.Genre.objects.all()