"""Product app views.""" from rest_framework import generics, permissions from product.models import Product from product import serializers from product import filters class ProductBaseView(generics.GenericAPIView): """Product base view""" def get_queryset(self): """Override get_queryset method.""" return Product.objects.with_base_related() class ProductListView(ProductBaseView, generics.ListAPIView): """List view for model Product.""" permission_classes = (permissions.AllowAny, ) serializer_class = serializers.ProductBaseSerializer filter_class = filters.ProductListFilterSet