From 7dbbc6078179f8615a997438891bf6d844472bec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20BAL?= Date: Fri, 10 Dec 2021 14:06:43 +0300 Subject: [PATCH 1/5] customers' models serializers was created and checked at localhost/api --- ecommerce/customers/filters.py | 18 ++++++++++++ ecommerce/customers/serializers.py | 46 ++++++++++++++++++++++++++++++ ecommerce/customers/views.py | 33 +++++++++++++++++++-- ecommerce/ecommerce/urls.py | 12 +++++++- ecommerce/products/filters.py | 2 +- ecommerce/products/serializers.py | 6 +--- ecommerce/products/views.py | 5 ++++ 7 files changed, 113 insertions(+), 9 deletions(-) create mode 100644 ecommerce/customers/filters.py create mode 100644 ecommerce/customers/serializers.py diff --git a/ecommerce/customers/filters.py b/ecommerce/customers/filters.py new file mode 100644 index 0000000..95fe6ab --- /dev/null +++ b/ecommerce/customers/filters.py @@ -0,0 +1,18 @@ + +from django_filters import rest_framework as filters +from customers.models import Customer, Address + + + + +class CustomerFilter(filters.FilterSet): + + class Meta: + model = Customer + fields = ("is_active", "is_staff") + +class AddressFilter(filters.FilterSet): + + class Meta: + model = Address + fields = ("name", "city") \ No newline at end of file diff --git a/ecommerce/customers/serializers.py b/ecommerce/customers/serializers.py new file mode 100644 index 0000000..baf917a --- /dev/null +++ b/ecommerce/customers/serializers.py @@ -0,0 +1,46 @@ +from django.db.transaction import atomic +from rest_framework import serializers +from customers.models import Customer, Address, City, Country + +class CustomerSerializer(serializers.ModelSerializer): + + class Meta: + model = Customer + fields = ("first_name", "last_name", "email") + +class AddressSerializer(serializers.ModelSerializer): + + class Meta: + model = Address + fields = ("customer", "name", "full_name", "line_1","line_2","phone","district","zipcode","city") + + +class CountrySerializer(serializers.ModelSerializer): + + class Meta: + model = Country + fields = ("name", ) + +class CitySerializer(serializers.ModelSerializer): + country = CountrySerializer() + class Meta: + model = City + fields = ("name", "country") + +class AddressDetailedSerializer(AddressSerializer): + customer = CustomerSerializer() + city = CitySerializer() + + + @atomic() + def create(self, validated_data): + customers = validated_data.pop("customers", None) + address = super().create(validated_data) + if customers: + serializer = CustomerSerializer(data=addresses, many=True) + serializer.is_valid(raise_exception=True) + serializer.save() + address.customers.add(*serializer.instance) + return address + + diff --git a/ecommerce/customers/views.py b/ecommerce/customers/views.py index 91ea44a..07c5ff8 100644 --- a/ecommerce/customers/views.py +++ b/ecommerce/customers/views.py @@ -1,3 +1,32 @@ -from django.shortcuts import render +from rest_framework import viewsets +from core.mixins import DetailedViewSetMixin -# Create your views here. + +from customers.filters import CustomerFilter, AddressFilter +from customers.models import Customer, Address, City, Country +from customers.serializers import CustomerSerializer, AddressSerializer, CitySerializer, CountrySerializer, \ + AddressDetailedSerializer + + +class CustomerViewSet(viewsets.ModelViewSet): + queryset = Customer.objects.all() + serializer_class = CustomerSerializer + filterset_class = CustomerFilter + +class AddressViewSet(DetailedViewSetMixin, viewsets.ModelViewSet): + queryset = Address.objects.all() + serializer_class = AddressSerializer + filterset_class = AddressFilter + +class AddressDetailedViewSet(viewsets.ModelViewSet): + queryset = Address.objects.all() + serializer_class = AddressDetailedSerializer + http_method_names = ["get"] + +class CityViewSet(viewsets.ModelViewSet): + queryset = City.objects.all() + serializer_class = CitySerializer + +class CountryViewSet(viewsets.ModelViewSet): + queryset = Country.objects.all() + serializer_class = CountrySerializer diff --git a/ecommerce/ecommerce/urls.py b/ecommerce/ecommerce/urls.py index 3d9479a..a4e7ce1 100644 --- a/ecommerce/ecommerce/urls.py +++ b/ecommerce/ecommerce/urls.py @@ -17,11 +17,21 @@ from django.urls import path, include from ecommerce.router import router -from products.views import ProductViewSet, CategoryViewSet +from products.views import ProductViewSet, CategoryViewSet, ProductDetailedViewSet +from customers.views import CustomerViewSet, AddressViewSet, AddressDetailedViewSet, CityViewSet, CountryViewSet +# Product Routers router.register("products", ProductViewSet) +router.register("products-detailed", ProductDetailedViewSet, basename="product-detailed") router.register("categories", CategoryViewSet) +#Customer Routers +router.register("customers", CustomerViewSet) +router.register("addresses", AddressViewSet) +router.register("cities", CityViewSet) +router.register("countries", CountryViewSet) +router.register("addresses-detailed", AddressDetailedViewSet) + urlpatterns = [ path("api/", include(router.urls)), path('admin/', admin.site.urls), diff --git a/ecommerce/products/filters.py b/ecommerce/products/filters.py index 1ab7578..44b2b5c 100644 --- a/ecommerce/products/filters.py +++ b/ecommerce/products/filters.py @@ -6,7 +6,7 @@ class ProductFilter(filters.FilterSet): - name = filters.CharFilter(label=_("Name"), method="filter_name") + name = filters.CharFilter(label=_("Name"), method="") class Meta: model = Product diff --git a/ecommerce/products/serializers.py b/ecommerce/products/serializers.py index a7eb006..39b2c9d 100644 --- a/ecommerce/products/serializers.py +++ b/ecommerce/products/serializers.py @@ -18,13 +18,9 @@ class Meta: fields = ("id", "name", ) -class ProductDetailedSerializer(serializers.ModelSerializer): +class ProductDetailedSerializer(ProductSerializer): categories = CategorySerializer(many=True) - class Meta: - model = Product - fields = ("id", "sku", "name", "description", "color", "size", "categories", "created_at", "modified_at") - @atomic() def create(self, validated_data): categories = validated_data.pop("categories", None) diff --git a/ecommerce/products/views.py b/ecommerce/products/views.py index fdd33fd..9e082eb 100644 --- a/ecommerce/products/views.py +++ b/ecommerce/products/views.py @@ -20,3 +20,8 @@ class ProductViewSet(DetailedViewSetMixin, viewsets.ModelViewSet): class CategoryViewSet(viewsets.ModelViewSet): queryset = Category.objects.all() serializer_class = CategorySerializer + +class ProductDetailedViewSet(viewsets.ModelViewSet): + queryset = Product.objects.all() + serializer_class = ProductDetailedSerializer + http_method_names = ["get"] From 5aa1dfa6d67d540ff226a74df8166238a1aa9273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20BAL?= Date: Fri, 10 Dec 2021 15:39:44 +0300 Subject: [PATCH 2/5] Basket app models' serializers was created and checked at localhos/api --- ecommerce/baskets/filters.py | 13 +++++++++++++ ecommerce/baskets/serializers.py | 22 ++++++++++++++++++++++ ecommerce/baskets/views.py | 21 +++++++++++++++++++-- ecommerce/ecommerce/urls.py | 17 +++++++++++++++-- 4 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 ecommerce/baskets/filters.py create mode 100644 ecommerce/baskets/serializers.py diff --git a/ecommerce/baskets/filters.py b/ecommerce/baskets/filters.py new file mode 100644 index 0000000..4c519cc --- /dev/null +++ b/ecommerce/baskets/filters.py @@ -0,0 +1,13 @@ +from django.db.models import Q +from django_filters import rest_framework as filters +from django.utils.translation import gettext_lazy as _ + +from baskets.models import Basket + + +class BasketFilter(filters.FilterSet): + name = filters.CharFilter(label=_("Name"), method="") + + class Meta: + model = Basket + fields = ("customer", ) diff --git a/ecommerce/baskets/serializers.py b/ecommerce/baskets/serializers.py new file mode 100644 index 0000000..c55fd0f --- /dev/null +++ b/ecommerce/baskets/serializers.py @@ -0,0 +1,22 @@ + +from rest_framework import serializers + +from baskets.models import Basket, BasketItem + + + +class BasketSerializer(serializers.ModelSerializer): + + class Meta: + model = Basket + fields = ("customer", "status") + + +class BasketItemSerializer(serializers.ModelSerializer): + + class Meta: + model = BasketItem + fields = ("basket", "product","quantity","price" ) + +class BasketItemDetailedSerializer(BasketItemSerializer): + basket = BasketSerializer() \ No newline at end of file diff --git a/ecommerce/baskets/views.py b/ecommerce/baskets/views.py index 91ea44a..fd8ee20 100644 --- a/ecommerce/baskets/views.py +++ b/ecommerce/baskets/views.py @@ -1,3 +1,20 @@ -from django.shortcuts import render +from rest_framework import viewsets -# Create your views here. +from core.mixins import DetailedViewSetMixin +from baskets.filters import BasketFilter +from baskets.models import Basket, BasketItem +from baskets.serializers import BasketSerializer, BasketItemSerializer, BasketItemDetailedSerializer + +class BasketViewSet(viewsets.ModelViewSet): + queryset = Basket.objects.all() + serializer_class = BasketSerializer + filterset_class = BasketFilter + +class BasketItemViewSet(viewsets.ModelViewSet): + queryset = BasketItem.objects.all() + serializer_class = BasketItemSerializer + +class BasketItemDetailedViewSet(viewsets.ModelViewSet): + queryset = BasketItem.objects.all() + serializer_class = BasketItemDetailedSerializer + http_method_names = ["get"] \ No newline at end of file diff --git a/ecommerce/ecommerce/urls.py b/ecommerce/ecommerce/urls.py index a4e7ce1..370d1de 100644 --- a/ecommerce/ecommerce/urls.py +++ b/ecommerce/ecommerce/urls.py @@ -19,12 +19,17 @@ from ecommerce.router import router from products.views import ProductViewSet, CategoryViewSet, ProductDetailedViewSet from customers.views import CustomerViewSet, AddressViewSet, AddressDetailedViewSet, CityViewSet, CountryViewSet - +from baskets.views import BasketViewSet, BasketItemViewSet, BasketItemDetailedViewSet +""" + ## these routers was designed for showing all details about Product and Product's Category Details +""" # Product Routers router.register("products", ProductViewSet) router.register("products-detailed", ProductDetailedViewSet, basename="product-detailed") router.register("categories", CategoryViewSet) - +""" + ## these routers was designed for showing all details about Customer and Full Address Details +""" #Customer Routers router.register("customers", CustomerViewSet) router.register("addresses", AddressViewSet) @@ -32,6 +37,14 @@ router.register("countries", CountryViewSet) router.register("addresses-detailed", AddressDetailedViewSet) +""" + ## these routers was designed for showing all details about Basket and Basket Items +""" +#Basket Routers +router.register("baskets", BasketViewSet) +router.register("basketitems", BasketItemViewSet) +router.register("basketitems-detailed", BasketItemDetailedViewSet) + urlpatterns = [ path("api/", include(router.urls)), path('admin/', admin.site.urls), From b48e21c804bdce14bd31746c964f59f03b9f1274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20BAL?= Date: Fri, 10 Dec 2021 17:04:41 +0300 Subject: [PATCH 3/5] payments and orders' serializer files was created and checked at localhost/api --- ecommerce/baskets/views.py | 2 +- ecommerce/ecommerce/urls.py | 20 ++++++++++++++-- ecommerce/orders/filters.py | 0 ecommerce/orders/serializer.py | 38 +++++++++++++++++++++++++++++++ ecommerce/orders/views.py | 32 ++++++++++++++++++++++++-- ecommerce/payments/filters.py | 13 +++++++++++ ecommerce/payments/serializers.py | 21 +++++++++++++++++ ecommerce/payments/views.py | 21 +++++++++++++++-- 8 files changed, 140 insertions(+), 7 deletions(-) create mode 100644 ecommerce/orders/filters.py create mode 100644 ecommerce/orders/serializer.py create mode 100644 ecommerce/payments/filters.py create mode 100644 ecommerce/payments/serializers.py diff --git a/ecommerce/baskets/views.py b/ecommerce/baskets/views.py index fd8ee20..71e65b4 100644 --- a/ecommerce/baskets/views.py +++ b/ecommerce/baskets/views.py @@ -10,7 +10,7 @@ class BasketViewSet(viewsets.ModelViewSet): serializer_class = BasketSerializer filterset_class = BasketFilter -class BasketItemViewSet(viewsets.ModelViewSet): +class BasketItemViewSet(DetailedViewSetMixin, viewsets.ModelViewSet): queryset = BasketItem.objects.all() serializer_class = BasketItemSerializer diff --git a/ecommerce/ecommerce/urls.py b/ecommerce/ecommerce/urls.py index 370d1de..971b7e3 100644 --- a/ecommerce/ecommerce/urls.py +++ b/ecommerce/ecommerce/urls.py @@ -20,6 +20,8 @@ from products.views import ProductViewSet, CategoryViewSet, ProductDetailedViewSet from customers.views import CustomerViewSet, AddressViewSet, AddressDetailedViewSet, CityViewSet, CountryViewSet from baskets.views import BasketViewSet, BasketItemViewSet, BasketItemDetailedViewSet +from payments.views import BankViewSet, BankAccountViewSet, BankAccountDetailedViewSet +from orders.views import OrderViewSet, OrderItemViewSet, OrderBankAccountViewSet, ShippingAddressViewSet, BillingAddressViewSet, OrderDetailedViewSet """ ## these routers was designed for showing all details about Product and Product's Category Details """ @@ -35,7 +37,7 @@ router.register("addresses", AddressViewSet) router.register("cities", CityViewSet) router.register("countries", CountryViewSet) -router.register("addresses-detailed", AddressDetailedViewSet) +router.register("addresses-detailed", AddressDetailedViewSet, basename="address-detailed") """ ## these routers was designed for showing all details about Basket and Basket Items @@ -43,7 +45,21 @@ #Basket Routers router.register("baskets", BasketViewSet) router.register("basketitems", BasketItemViewSet) -router.register("basketitems-detailed", BasketItemDetailedViewSet) +router.register("basketitems-detailed", BasketItemDetailedViewSet, basename="basket-detailed") + +#Payments Routers +router.register("banks", BankViewSet ) +router.register("bankaccounts", BankAccountViewSet) +router.register("bankaccounts-detailed", BankAccountDetailedViewSet, basename="payment-detailed") + +#Order Routers +router.register("order", OrderViewSet ) +router.register("orderitems", OrderItemViewSet ) +router.register("orderbankaccount", OrderBankAccountViewSet ) +router.register("shippingaddress", ShippingAddressViewSet ) +router.register("billingaddress", BillingAddressViewSet ) +router.register("order-detailed", OrderDetailedViewSet, basename="order-detailed") + urlpatterns = [ path("api/", include(router.urls)), diff --git a/ecommerce/orders/filters.py b/ecommerce/orders/filters.py new file mode 100644 index 0000000..e69de29 diff --git a/ecommerce/orders/serializer.py b/ecommerce/orders/serializer.py new file mode 100644 index 0000000..f85a7fa --- /dev/null +++ b/ecommerce/orders/serializer.py @@ -0,0 +1,38 @@ +from rest_framework import serializers + +from orders.models import Order, OrderItem, OrderBankAccount, ShippingAddress, BillingAddress + +class BillingAddressSerializer(serializers.ModelSerializer): + + class Meta: + model = BillingAddress + fields = ("full_name", "line_1", "line_2", "phone","district", "zipcode", "city") + +class ShippingAddressSerializer(serializers.ModelSerializer): + + class Meta: + model = ShippingAddress + fields = ("full_name", "line_1", "line_2", "phone","district", "zipcode", "city") + +class OrderBankAccountSerializer(serializers.ModelSerializer): + + class Meta: + model = OrderBankAccount + fields = ("name", "iban", "bank_name", "order") + +class OrderSerializer(serializers.ModelSerializer): + + class Meta: + model = Order + fields = ("customer", "basket","status","billing_address", "shipping_address","total_price" ) + + +class OrderItemSerializer(serializers.ModelSerializer): + + class Meta: + model = OrderItem + fields = ("order", "product","price" ) + +class OrderDetailedSerializer(OrderSerializer): + billing_address = BillingAddressSerializer() + shipping_address = ShippingAddressSerializer() \ No newline at end of file diff --git a/ecommerce/orders/views.py b/ecommerce/orders/views.py index 91ea44a..a3440af 100644 --- a/ecommerce/orders/views.py +++ b/ecommerce/orders/views.py @@ -1,3 +1,31 @@ -from django.shortcuts import render +from rest_framework import viewsets +from core.mixins import DetailedViewSetMixin +from orders.models import Order, OrderItem, OrderBankAccount, ShippingAddress, BillingAddress +from orders.serializer import OrderSerializer, OrderItemSerializer, OrderBankAccountSerializer, BillingAddressSerializer, ShippingAddressSerializer, \ + OrderDetailedSerializer -# Create your views here. + +class OrderViewSet(DetailedViewSetMixin, viewsets.ModelViewSet): + queryset = Order.objects.all() + serializer_class = OrderSerializer + +class OrderBankAccountViewSet(viewsets.ModelViewSet): + queryset = OrderBankAccount.objects.all() + serializer_class = OrderBankAccountSerializer + +class OrderItemViewSet(viewsets.ModelViewSet): + queryset = OrderItem.objects.all() + serializer_class = OrderItemSerializer + +class ShippingAddressViewSet(viewsets.ModelViewSet): + queryset = ShippingAddress.objects.all() + serializer_class = ShippingAddressSerializer + +class BillingAddressViewSet(viewsets.ModelViewSet): + queryset = BillingAddress.objects.all() + serializer_class = BillingAddressSerializer + +class OrderDetailedViewSet(viewsets.ModelViewSet): + queryset = Order.objects.all() + serializer_class = OrderDetailedSerializer + http_method_names = ["get"] \ No newline at end of file diff --git a/ecommerce/payments/filters.py b/ecommerce/payments/filters.py new file mode 100644 index 0000000..93e1955 --- /dev/null +++ b/ecommerce/payments/filters.py @@ -0,0 +1,13 @@ + +from django_filters import rest_framework as filters +from django.utils.translation import gettext_lazy as _ + +from payments.models import BankAccount + + +class BankAccountFilter(filters.FilterSet): + name = filters.CharFilter(label=_("Name"), method="") + + class Meta: + model = BankAccount + fields = ("bank",) \ No newline at end of file diff --git a/ecommerce/payments/serializers.py b/ecommerce/payments/serializers.py new file mode 100644 index 0000000..e89ef70 --- /dev/null +++ b/ecommerce/payments/serializers.py @@ -0,0 +1,21 @@ + +from rest_framework import serializers + +from payments.models import Bank, BankAccount + + +class BankSerializer(serializers.ModelSerializer): + + class Meta: + model = Bank + fields = ("name", ) + + +class BankAccountSerializer(serializers.ModelSerializer): + + class Meta: + model = BankAccount + fields = ("bank", "name", "iban") + +class BankAccountDetailedSerializer(BankAccountSerializer): + bank = BankSerializer() \ No newline at end of file diff --git a/ecommerce/payments/views.py b/ecommerce/payments/views.py index 91ea44a..131a40c 100644 --- a/ecommerce/payments/views.py +++ b/ecommerce/payments/views.py @@ -1,3 +1,20 @@ -from django.shortcuts import render +from rest_framework import viewsets +from core.mixins import DetailedViewSetMixin +from core.mixins import DetailedViewSetMixin +from payments.filters import BankAccountFilter +from payments.models import Bank, BankAccount +from payments.serializers import BankSerializer, BankAccountSerializer, BankAccountDetailedSerializer -# Create your views here. + +class BankViewSet(viewsets.ModelViewSet): + queryset = Bank.objects.all() + serializer_class = BankSerializer + +class BankAccountViewSet(DetailedViewSetMixin, viewsets.ModelViewSet): + queryset = BankAccount.objects.all() + serializer_class = BankAccountSerializer + +class BankAccountDetailedViewSet(BankAccountViewSet): + queryset = BankAccount.objects.all() + serializer_class = BankAccountDetailedSerializer + http_method_names = ["get"] From 83a07a97b34e6833ebaadbf74ccc577b32acf844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20BAL?= Date: Sat, 11 Dec 2021 14:28:08 +0300 Subject: [PATCH 4/5] Orders app's serializers, filters, viewsets were created and attached to ecommerce/urls.py --- ecommerce/orders/filters.py | 13 +++++++++++++ ecommerce/orders/serializer.py | 6 +++++- ecommerce/orders/views.py | 2 ++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ecommerce/orders/filters.py b/ecommerce/orders/filters.py index e69de29..ca5c35d 100644 --- a/ecommerce/orders/filters.py +++ b/ecommerce/orders/filters.py @@ -0,0 +1,13 @@ + +from django_filters import rest_framework as filters +from django.utils.translation import gettext_lazy as _ + +from orders.models import Order + + +class OrderFilter(filters.FilterSet): + name = filters.CharFilter(label=_("Name"), method="") + + class Meta: + model = Order + fields = ("customer", "status") \ No newline at end of file diff --git a/ecommerce/orders/serializer.py b/ecommerce/orders/serializer.py index f85a7fa..677dc85 100644 --- a/ecommerce/orders/serializer.py +++ b/ecommerce/orders/serializer.py @@ -1,6 +1,8 @@ from rest_framework import serializers from orders.models import Order, OrderItem, OrderBankAccount, ShippingAddress, BillingAddress +from customers.serializers import CustomerSerializer +from baskets.serializers import BasketSerializer class BillingAddressSerializer(serializers.ModelSerializer): @@ -35,4 +37,6 @@ class Meta: class OrderDetailedSerializer(OrderSerializer): billing_address = BillingAddressSerializer() - shipping_address = ShippingAddressSerializer() \ No newline at end of file + shipping_address = ShippingAddressSerializer() + customer = CustomerSerializer() + basket = BasketSerializer() \ No newline at end of file diff --git a/ecommerce/orders/views.py b/ecommerce/orders/views.py index a3440af..022e63a 100644 --- a/ecommerce/orders/views.py +++ b/ecommerce/orders/views.py @@ -1,5 +1,6 @@ from rest_framework import viewsets from core.mixins import DetailedViewSetMixin +from orders.filters import OrderFilter from orders.models import Order, OrderItem, OrderBankAccount, ShippingAddress, BillingAddress from orders.serializer import OrderSerializer, OrderItemSerializer, OrderBankAccountSerializer, BillingAddressSerializer, ShippingAddressSerializer, \ OrderDetailedSerializer @@ -7,6 +8,7 @@ class OrderViewSet(DetailedViewSetMixin, viewsets.ModelViewSet): queryset = Order.objects.all() + filterset_class = OrderFilter serializer_class = OrderSerializer class OrderBankAccountViewSet(viewsets.ModelViewSet): From 82220e31dff60892f1e3acfe6806c9a0fa92997b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20BAL?= Date: Sat, 11 Dec 2021 14:28:44 +0300 Subject: [PATCH 5/5] The last controls was done and added README File --- ecommerce/README.md | 32 +++++++++----------------------- ecommerce/ecommerce/settings.py | 4 +++- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/ecommerce/README.md b/ecommerce/README.md index 83c3722..e91f917 100644 --- a/ecommerce/README.md +++ b/ecommerce/README.md @@ -1,23 +1,9 @@ -### Core - -It contains functions, classes and constants to be used as a basis in the core. - -### Customers - -It contains customer model and address model for customers. - -### Products - -It contains product model, category model, stock model and price model for products. - -### Baskets - -It contains basket model and basket item in basket model. - -### Orders - -It contains billing address model, shipping address model, order bank account model, order model and order item model. - -### Payments - -It contains bank model and bank account model. \ No newline at end of file +## All models' serializers, filters, viewsets was created, these are; + 1- Baskets + 2- Customers + 3- Orders + 4- Payments + 5- Products +## Also all models' serializer roots was created at the ecommerce/urls.py + +## Pagination was added to ecommerce/settings.py \ No newline at end of file diff --git a/ecommerce/ecommerce/settings.py b/ecommerce/ecommerce/settings.py index 898a8ee..ac3bdae 100644 --- a/ecommerce/ecommerce/settings.py +++ b/ecommerce/ecommerce/settings.py @@ -54,7 +54,9 @@ ] REST_FRAMEWORK = { - 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'] + 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'], + 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', + 'PAGE_SIZE': 100 } MIDDLEWARE = [