Как я могу запросить запасы и доходы по элементам в django ORM?
`class RevenueStockDashboardViewset(ViewSet):
sale = InvSaleDetail.objects.filter(sale_main__sale_type='SALE')
sale_returns = InvSaleDetail.objects.filter(sale_main__sale_type='RETURN')
purchase = InvPurchaseDetail.objects.filter(purchase_main__purchase_type='PURCHASE')
purchase_returns = InvPurchaseDetail.objects.filter(purchase_main__purchase_type='RETURN')
def list(self, request):
total_revenue = (self.sale.annotate(total=Sum('sale_main__grand_total'))
.aggregate(total_revenue=Sum('total'))
.get('total_revenue') or 0) - (self.sale_returns.annotate(total=Sum('sale_main__grand_total'))
.aggregate(total_revenue=Sum('total'))
.get('total_revenue') or 0) - (self.purchase.annotate(total=Sum('purchase_main__grand_total'))
.aggregate(total_revenue=Sum('total'))
.get('total_revenue') or 0) + (self.purchase_returns.annotate(total=Sum('purchase_main__grand_total'))
.aggregate(total_revenue=Sum('total'))
.get('total_revenue') or 0)
total_stocks = (self.purchase.annotate(total=Sum('qty'))
.aggregate(total_stock=Sum('total'))
.get('total_stock') or 0) - (self.purchase_returns.annotate(total=Sum('qty'))
.aggregate(total_stocks=Sum('total'))
.get('total_stock') or 0) - (self.sale.annotate(total=Sum('qty'))
.aggregate(total_stock=Sum('total'))
.get('total_stock') or 0) - (self.sale_returns.annotate(total=Sum('qty'))
.aggregate(total_stock=Sum('total'))
.get('total_stock') or 0)
return Response(
{
'total_revenue': total_revenue,
'total_stocks': total_stocks,
# 'item_wise_stocks': items,
}
)`
У меня есть панель инвентаризации, где я хочу показать доход по элементам и запасы по элементам. Я сделал запрос на общие запасы и выручку, но мне нужен запрос по артикулу. Если вам нужна дополнительная информация. Пожалуйста, дайте мне знать.