26 lines
886 B
Python
26 lines
886 B
Python
"""Tag views."""
|
|
from rest_framework import viewsets, mixins
|
|
from tag import filters, models, serializers
|
|
from rest_framework import permissions
|
|
|
|
|
|
class TagViewSet(mixins.ListModelMixin, mixins.CreateModelMixin,
|
|
mixins.UpdateModelMixin, mixins.DestroyModelMixin,
|
|
viewsets.GenericViewSet):
|
|
"""List/create tag view."""
|
|
|
|
pagination_class = None
|
|
queryset = models.Tag.objects.all()
|
|
serializer_class = serializers.TagBackOfficeSerializer
|
|
|
|
|
|
class TagCategoryViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
|
|
"""ViewSet for TagCategory model."""
|
|
|
|
filterset_class = filters.TagCategoryFilterSet
|
|
pagination_class = None
|
|
permission_classes = (permissions.AllowAny, )
|
|
queryset = models.TagCategory.objects.with_tags().with_base_related().\
|
|
distinct()
|
|
serializer_class = serializers.TagCategoryBaseSerializer
|