def put(self, request, id): queryset = get_object_or_404(Product, id=id) serializer = ProductSerializer(queryset, data = request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=HTTP_200_OK) return Response(serializer.errors, status=HTTP_400_BAD_REQUEST)
def put(self, request, pk): queryset = Product.objects.all() product_obj = get_object_or_404(queryset, pk=pk) serializer = ProductSerializer(product_obj, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_204_NO_CONTENT) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, format=None): request.data['created_at'] = datetime.today().strftime( "%Y-%m-%d %H:%M:%S") request.data['updated_at'] = datetime.today().strftime( "%Y-%m-%d %H:%M:%S") serializer = ProductSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
class OrderSerializer(serializers.ModelSerializer): customer = CustomerSerializer(read_only=True) product = ProductSerializer(read_only=True) class Meta: model = Order fields = '__all__'
class CompanySerializer(serializers.ModelSerializer): key = KeySerializer(many=False, read_only=True) product = ProductSerializer(many=False, read_only=True) class Meta: model = Company fields = ('__all__')
def post(self, request, *args, **kwargs): try: instance = self.get_object() serializer = FlatStockSerializer( instance, data={ 'price': int(request.data.get('price', instance.price)), 'amount': instance.amount + int(request.data.get('amount', 0)) }, partial=True) serializer.is_valid(raise_exception=True) self.perform_update(serializer) return Response(serializer.data) except Product.DoesNotExist: serializer = ProductSerializer(data=request.data) serializer.is_valid(raise_exception=True) serializer.save() product = serializer.instance except Stock.DoesNotExist: ian = request.data.get('ian', None) product = Product.objects.get(ian=ian) request._full_data = { 'store': kwargs['id'], 'product': product.id, 'price': request.data.get('price'), 'amount': request.data.get('amount') } return super().post(request, *args, **kwargs)
def RecommandedSearch(request, userid): userSearch = Search.object.filter(user__id=userid).exclude( product__id__isnull=True).values('product__id') productsBrand = Product.objects.filter( id__in=userSearch).values('brand__id') RecommedProducts = Product.objects.filter(brand__id__in=productsBrand) serialize = ProductSerializer(RecommedProducts, many=True).data return Response(serialize)
class MyOrderItemSerializer(serializers.ModelSerializer): product = ProductSerializer() class Meta: model = OrderItem fields = ( "price", "product", "quantity", )
def PopualerSearch(request): final = [] popularProduct = Search.object.exclude( product__id__isnull=True).values('product__id').annotate( ProCount=Count('product__id')).order_by('-ProCount')[:5] for pro in popularProduct: product = Product.objects.get(id=pro['product__id']) final.append(product) serialize = ProductSerializer(final, many=True).data return Response(serialize)
class CartSerializer(serializers.ModelSerializer): customer = CustomerSerializer(read_only=True) product = ProductSerializer(read_only=True) customer_id = serializers.PrimaryKeyRelatedField( write_only=True, queryset=Customer.objects.all(), source='customer') product_id = serializers.PrimaryKeyRelatedField( write_only=True, queryset=Product.objects.all(), source='product') class Meta: model = Cart fields = '__all__' list_serializer_class = CartListSerializer
def get(self, request, id): queryset = get_object_or_404(Product, id=id) serializer = ProductSerializer(queryset).data return Response(serializer)
def retrieve(self, request, pk): product_obj = ProductCategory.objects.get(id=pk) queryset = Product.objects.filter(category=product_obj) serializer = ProductSerializer(queryset, many=True) return Response(serializer.data, status=status.HTTP_200_OK)
def get_productDetails(self,obj): return ProductSerializer(obj.product).data
def get(self, request, format=None): product = Product.objects.all() serializer = ProductSerializer(product, many=True) return Response(serializer.data)
def retrieve(self, request, pk): queryset = Product.objects.get(id=pk) serializer = ProductSerializer(queryset) return Response(serializer.data, status=status.HTTP_200_OK)
def post(self, request): serializer = ProductSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def list(self, request): queryset = Product.objects.all() serializer = ProductSerializer(queryset, many=True) return Response(serializer.data)
def get_PopProduct(self,obj): return ProductSerializer(obj.product).data