Как в Django Rest Framework вывести список акционных продуктов вместе с Категориями?
У меня есть главная страница, на которой выводится список всех категорий. Как мне на эту же страницу вывести список товаров, которые участвуют в акции? У продукта есть поле Discount. По моей задумке, при выборе этого поля продукт должен стать акционным и попасть в список. Обычно, это блок на главной странице в виде карусели, в которой отображены популярные, акционные товары и т.д. Не понимаю, как к этому подойти в Django Rest Framework.
Serializers.py
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ['category', 'slug', 'meta', 'image']
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ['category',
'name',
'slug',
'meta',
'image',
'video',
'volume',
'price',
'description']
Views.py
class CategoryListView(viewsets.ViewSet):
"""Список всех категорий"""
def list(self, request):
queryset = Category.objects.all()
serializer = CategorySerializer(queryset, many=True)
return Response(serializer.data)
class ProductListView(views.APIView):
"""Список продуктов в категории"""
def get(self, request, category_slug):
category = None
products = Product.objects.filter(available=True)
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
products = products.filter(category=category)
serializer = ProductSerializer(products, many=True)
return Response(serializer.data)