def post(self, request): portfolio = request.user.portfolio if portfolio: data = {**request.data, 'portfolio': portfolio.id} serializer = OrderSerializer(data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) else: return Response(serializer.errors, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def get(self, request, *args, **kwargs): if not request.user.is_authenticated: return JsonResponse({ 'Status': False, 'Error': 'Log in required' }, status=403) if request.user.type != 'shop': return JsonResponse( { 'Status': False, 'Error': 'Только для магазинов' }, status=403) order = Order.objects.filter( ordered_items__product_info__shop__user_id=request.user.id ).exclude(state='basket').prefetch_related( 'ordered_items__product_info__product__category', 'ordered_items__product_info__product_parameters__parameter' ).select_related('contact').annotate(total_sum=Sum( F('ordered_items__quantity') * F('ordered_items__product_info__price'))).distinct() serializer = OrderSerializer(order, many=True) return Response(serializer.data)
def get(self, request, *args, **kwargs): if not request.user.is_authenticated: return JsonResponse({'Status': False, 'Error': 'Log in required'}, status=403) basket = Order.objects.filter( user_id=request.user.id, state='basket').prefetch_related( 'ordered_items__product_info__product__category', 'ordered_items__product_info__product_parameters__parameter').annotate( total_sum=Sum(F('ordered_items__quantity') * F('ordered_items__product_info__price'))).distinct() serializer = OrderSerializer(basket, many=True) return Response(serializer.data)
def get(self, request, *args, **kwargs): # Проверка авторизован ли пользователь if not request.user.is_authenticated: return JsonResponse({ 'Status': False, 'Error': 'Пользователь не авторизован' }) # Заказы пользователя orders = Order.objects.filter(user=request.user) serializer = OrderSerializer(orders, many=True) info = {'user': serializer.data} # Заказы магазина if request.user.type == 'shop': shop = Shop.objects.get(user=request.user) shop_orders = Order.objects.filter(shop=shop) shop_serializer = OrderSerializer(shop_orders, many=True) info['shop'] = shop_serializer.data return JsonResponse({'Status': True, 'Info': info})