Я хочу получить 8 самых последних товаров из каждой категории в django
views.py
def getTopProducts(request): category = Category.objects.all() продукты = {} for e in category: products[str(e)] = Product.objects.filter(category=e).order_by('-createdAt')[0:3] serializer = TopProductSerializer(products, many=True) return Response(serializer.data)
serializers.py
class TopProductSerializer(serializers.ModelSerializer): category = serializers.ReadOnlyField(source='category.name')
class Meta:
model = Product
fields = ['_id', 'name_geo', 'price', 'image', 'category']
Возвращается
[ { "_id": 1, "name_geo": null, "цена": null, "изображение": null }, { }, "_id": 2, "name_geo": null, "цена": null, "изображение": null }, { }, "_id": 3, "name_geo": null, }, { "цена": null, "изображение": null }, { }, "_id": 4, "name_geo": null, "цена": null, "изображение": null } ]