def getProducts(request): query = request.query_params.get('keyword') print('QUERY: ', query) if query != None: products = Product.objects.filter(name__icontains= query) serializer = ProductSerializer(products, many=True) return Response(serializer.data) else: products = Product.objects.all() serializer = ProductSerializer(products, many=True) return Response(serializer.data)
def updateProduct(request, pk): stripe.api_key = settings.STRIPE_SECRET_KEY data = request.data product = Product.objects.get(_id=pk) product.name = data['name'] product.price = data['price'] product.brand = data['brand'] product.countInStock = Decimal(data['countInStock']) product.description = data['description'] stripe_product= stripe.Product.modify( product.stripe_product_id, name= data['name'], description= data['description'], attributes= [data['brand']], ) # product.categories = data['categories'] try: product.categories.clear() cat_list = data['categories'].split(",") for category in cat_list: cat = Category.objects.get(_id=category) product.categories.add(cat) product.save() serializer = ProductSerializer(product, many=False) return Response(serializer.data) except: return Response({'detail':'Category does not exists'}, status=status.HTTP_400_BAD_REQUEST)
def getProducts(request): query = request.query_params.get('keyword') if query == None: query = '' products = Product.objects.filter( name__icontains=query).order_by('-createdAt') page = request.query_params.get('page') paginator = Paginator(products, 5) try: products = paginator.page(page) except PageNotAnInteger: products = paginator.page(1) except EmptyPage: products = paginator.page(paginator.num_pages) if page == None: page = 1 page = int(page) print('Page:', page) print('Keyword: ', query) serializer = ProductSerializer(products, many=True) return Response({ 'products': serializer.data, 'page': page, 'pages': paginator.num_pages })
def getProducts(request): query = request.query_params.get('keyword') if (query == None): query = '' # Query the DB for all the products products = Product.objects.filter(name__icontains = query) #getting the page number page = request.query_params.get('page') paginator = Paginator(products, 4) try: products = paginator.page(page) except PageNotAnInteger: products = paginator.page(1) except EmptyPage: products = paginator.page(paginator.num_pages) if page == None: page = 1 page = int(page) serializer = ProductSerializer(products, many = True) return Response({'products':serializer.data, 'page': page, 'pages':paginator.num_pages})
def getProductsByCategory(request, pk): category = Category.objects.get(_id=pk) products_of_category = category.product_set.all() serializer = ProductSerializer(products_of_category, many=True) return Response(serializer.data)
def getFarmerProducts(request): user = request.user #farmerUser = UserSerializer(user, many=False) #products = Product.objects.filter(user_id=user.id) products = user.product_set.all() serializer = ProductSerializer(products, many=True) return Response(serializer.data)
def createProduct(request): user = request.user product = Product.objects.create(user=user, name='Example Name', brand='Example Brand', category='Example Category', description='Example Description', price=0, countInStock=0) serializer = ProductSerializer(product, many=False) return Response(serializer.data)
def updateProduct(request, pk): data = request.data product = Product.objects.get(_id=pk) product.name = data['name'] product.brand = data['brand'] product.category = data['category'] product.description = data['description'] product.price = data['price'] product.countInStock = data['countInStock'] product.save() serializer = ProductSerializer(product, many=False) return Response(serializer.data)
def createProduct(request): user = request.user # We are going to create a dummy product & Edit the data afterwards product = Product.objects.create( user = user, name = 'Sample Name', price = 0, brand = 'Sample Brand', countInStock = 0, category = 'Sample Category', description = '' ) serializer = ProductSerializer(product, many = False) return Response(serializer.data)
def getTopProductsPerCategory(request): categories = Category.objects.all() top_products_per_category = [] for category in categories: top_products_per_category += category.product_set.filter(rating__gte=4).order_by('rating')[0:2] for product in top_products_per_category: for duplicate in top_products_per_category: if product._id == duplicate._id: top_products_per_category.remove(product) serializer = ProductSerializer(top_products_per_category, many=True) return Response(serializer.data)
def updateProduct(request, pk): data = request.data product = Product.objects.get(_id=pk) product.user = request.user product.name = data["name"] product.brand = data["brand"] product.category = data["category"] product.description = data["description"] product.price = data["price"] product.countInStock = data["countInStock"] product.save() serializer = ProductSerializer(product, many=False) return Response(serializer.data)
def createProduct(request): data = request.data product = Product.objects.create( user=request.user, name=data["name"], brand=data["brand"], category=data["category"], description=data["description"], rating=0, numReviews=0, price=data["price"], countInStock=data["countInStock"], ) product.save() serializer = ProductSerializer(product, many=False) return Response(serializer.data)
def createProduct(request): user = request.user farmerUser = UserSerializer(user, many=False) if user.isFarmer == True: product = Product.objects.create( user=user, name='Sample Name', description='Deneme', unit='Sample Unit', countInStock=0, category='Sample Category', unitPrice=0, isFarmProduct=True, ) serializer = ProductSerializer(product, many=False) return Response(serializer.data) else: return Response("You are did not complete Farmer informations yet")
def createProduct(request): stripe.api_key = settings.STRIPE_SECRET_KEY user = request.user product = Product.objects.create( user = user, name = 'Sample name', price = 0, brand = 'sample brand', countInStock = 0, description= '' ) stripe_product= stripe.Product.create(name=product.name, metadata={'_id': product._id }) product.stripe_product_id = stripe_product.id product.save() serializer = ProductSerializer(product, many=False) return Response(serializer.data)
def updateProduct(request, pk): data = request.data product = Product.objects.get(_id=pk) product.name = data['name'] product.description = data['description'] product.unit = data['unit'] product.countInStock = data['countInStock'] product.category = data['category'] product.unitPrice = data['unitPrice'] product.isFarmProduct = data['isFarmProduct'] product.productType = data['productType'] product.harvestTime = data['harvestTime'] product.productionTime = data['productionTime'] product.save() serializer = ProductSerializer(product, many=False) return Response(serializer.data)
def updateFarmersProduct(request, pk): user = request.user data = request.data product = Product.objects.get(_id=pk) if user == product.user: product.name = data['name'] product.description = data['description'] product.unit = data['unit'] product.countInStock = data['countInStock'] product.category = data['category'] product.unitPrice = data['unitPrice'] product.isFarmProduct = data['isFarmProduct'] product.save() serializer = ProductSerializer(product, many=False) return Response(serializer.data) else: return Response("That's not your product")
def getFilteredProductLowestPrice(request): queryset = Product.objects.filter(~Q( productPoint=None)).order_by("unitPrice") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getFilteredProductHighestPrice(request): queryset = Product.objects.all().order_by("-unitPrice") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getProductsPrice_gte_1000(request): queryset = Product.objects.filter(~Q(unitPrice=None) & Q(unitPrice__gte=1000.0)) serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getProductsMeat(request): queryset = Product.objects.filter(category="Et,Tavuk,Sarkutleri") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getProductsDairy(request): queryset = Product.objects.filter(category="Sut,Sut Urunleri") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getProductsKuruyemis(request): queryset = Product.objects.filter(category="Kuruyemisler") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getProductsVegetables(request): queryset = Product.objects.filter(category="Sebze") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getProductsFruits(request): queryset = Product.objects.filter(category="Meyve") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getFilteredProductWithPoints3(request): queryset = Product.objects.filter(~Q(productPoint=None) & Q( productPoint__gte=3.0)).order_by("-numReviews") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getTopProducts(request): product = Product.objects.all().order_by('rating')[:3] serializer = ProductSerializer(product, many=True) return Response(serializer.data)
def getFilteredProductWithPoints4_5AndHigher(request): queryset = Product.objects.filter(productPoint__gte=4.5).order_by("-numReviews") serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def getProducts(request): products = Product.objects.all() serializer = ProductSerializer(products, many=True) return Response(serializer.data)
def getProduct(request, pk): product = Product.objects.get(_id=pk) serializer = ProductSerializer(product, many=False) return Response(serializer.data)
def getTopProducts(request): products = Product.objects.filter(rating__gte=4).order_by('-rating')[0:5] serializer = ProductSerializer(products, many = True) return Response(serializer.data)