Exemplo n.º 1
0
def categoryList(request):
    paginator = LimitOffsetPagination()
    paginator.page_size = 10
    cats = Category.objects.all()
    result_page = paginator.paginate_queryset(cats, request)
    serializer = CategorySerializer(result_page, many=True)
    return paginator.get_paginated_response(serializer.data)
Exemplo n.º 2
0
def brandList(request):
    paginator = LimitOffsetPagination()
    paginator.page_size = 10
    brands = Brand.objects.all()
    result_page = paginator.paginate_queryset(brands, request)
    serializer = BrandSerializer(result_page, many=True)
    return paginator.get_paginated_response(serializer.data)
Exemplo n.º 3
0
def productList(request):
    paginator = LimitOffsetPagination()
    paginator.page_size = 10
    prods = Product.objects.all()
    result_page = paginator.paginate_queryset(prods, request)
    serializer = ProductSerializer(result_page, many=True)
    return paginator.get_paginated_response(serializer.data)
Exemplo n.º 4
0
    def search(self, request):
        """This action returns result of a search request using cache"""
        paginator = LimitOffsetPagination()
        paginator.page_size = 20

        data = request.data
        search_serializer = SearchSerializer(data=data)

        if search_serializer.is_valid(raise_exception=True):
            code = search_serializer.validated_data['code'].lower()
            if code in cache:
                result = cache.get(code)
                return Response(result)
            else:
                cities, all_cities = search_cities(code)
                page = paginator.paginate_queryset(all_cities, request)

                serializer = CityDetailedSerializer(page,
                                                    many=True,
                                                    context={
                                                        "code": code,
                                                        "cities": cities
                                                    })
                result = serializer.data
                cache.set(code, result, timeout=CACHE_TTL)

                return paginator.get_paginated_response(result)
Exemplo n.º 5
0
def restaurant_list(request):
    paginator = LimitOffsetPagination()
    paginator.page_size = 15
    rests = Restaurants.objects.all()
    result_page = paginator.paginate_queryset(rests, request)
    serializer = RestaurantModelSerializer(result_page, many=True)
    return paginator.get_paginated_response(serializer.data)
Exemplo n.º 6
0
def order_list(request):
    paginator = LimitOffsetPagination()
    paginator.page_size = 15
    orders = Order.objects.all()
    result_page = paginator.paginate_queryset(orders, request)
    serializer = OrderModelSerializer(result_page, many=True)
    return paginator.get_paginated_response(serializer.data)
Exemplo n.º 7
0
    def marks(self, request, pk):
        paginator = LimitOffsetPagination()
        paginator.page_size = 20 

        saloon = get_object_or_404(AutoSaloon, id=pk)
        marks = AutoMark.objects.filter(auto_saloon_id=saloon.id)

        queryset = self.filter_queryset(marks)

        page = paginator.paginate_queryset(queryset, request)
        serializer = AutoMarkSerializer(page, many=True)

        return paginator.get_paginated_response(serializer.data)
Exemplo n.º 8
0
    def cars(self, request, pk):
        paginator = LimitOffsetPagination()
        paginator.page_size = 20

        country = get_object_or_404(Country, id=pk)
        carmodels = AutoModel.objects.filter(manufactured_in_id=country.id)

        queryset = self.filter_queryset(carmodels)
        
        page = paginator.paginate_queryset(queryset, request)
        serializer = AutoModelSerializer(page, many=True)

        return paginator.get_paginated_response(serializer.data)
Exemplo n.º 9
0
    def saloons(self, request, pk):
        paginator = LimitOffsetPagination()
        paginator.page_size = 20

        city = get_object_or_404(City, id=pk)
        saloons = AutoSaloon.objects.filter(city_id=city.id)

        queryset = self.filter_queryset(saloons)

        page = paginator.paginate_queryset(queryset, request)
        serializer = AutoSaloonSerializer(page, many=True)

        return paginator.get_paginated_response(serializer.data)
Exemplo n.º 10
0
    def cars(self, request, pk):
        paginator = LimitOffsetPagination()
        paginator.page_size = 20

        class_of = get_object_or_404(ClassCar, id=pk)
        cars = AutoModel.objects.filter(class_of_id=class_of.id)

        queryset = self.filter_queryset(cars)

        page = paginator.paginate_queryset(queryset, request)
        serializer = self.get_serializer(page, many=True)

        return paginator.get_paginated_response(serializer.data)
Exemplo n.º 11
0
    def offers(self, request, pk):
        paginator = LimitOffsetPagination()
        paginator.page_size = 20

        complectation = get_object_or_404(Complectation, id=pk)
        offs = Offer.objects.filter(complectation_id=complectation.id)

        queryset = self.filter_queryset(offs)

        page = paginator.paginate_queryset(queryset, request)
        serializer = self.get_serializer(page, many=True)

        return paginator.get_paginated_response(serializer.data)
Exemplo n.º 12
0
    def complectations(self, request, pk):
        paginator = LimitOffsetPagination()
        paginator.page_size = 20

        model = get_object_or_404(AutoModel, id=pk)
        comps = Complectation.objects.filter(auto_model_id=model.id)

        queryset = self.filter_queryset(comps)

        page = paginator.paginate_queryset(queryset, request)
        serializer = ComplectationSerializer(page, many=True)

        return paginator.get_paginated_response(serializer.data)