filter qoshildi

This commit is contained in:
Husanjonazamov
2026-03-17 15:30:43 +05:00
parent 1c692b51b6
commit e46632ac3b
7 changed files with 28 additions and 16 deletions

View File

@@ -1,13 +1,12 @@
from django_filters import rest_framework as filters from django_filters import rest_framework as filters
from core.apps.vendors.models import CategoryModel from core.apps.vendors.models import CategoryModel
class CategoryFilter(filters.FilterSet): class CategoryFilter(filters.FilterSet):
# name = filters.CharFilter(field_name="name", lookup_expr="icontains") title = filters.CharFilter(field_name="title", lookup_expr="icontains")
class Meta: class Meta:
model = CategoryModel model = CategoryModel
fields = [ fields = [
"name", "section",
"is_publish",
] ]

View File

@@ -1,13 +1,12 @@
from django_filters import rest_framework as filters from django_filters import rest_framework as filters
from core.apps.vendors.models import VendorModel from core.apps.vendors.models import VendorModel
class VendorFilter(filters.FilterSet): class VendorFilter(filters.FilterSet):
# name = filters.CharFilter(field_name="name", lookup_expr="icontains") title = filters.CharFilter(field_name="title", lookup_expr="icontains")
class Meta: class Meta:
model = VendorModel model = VendorModel
fields = [ fields = [
"name", "section",
"is_active",
] ]

View File

@@ -4,20 +4,21 @@ from core.apps.vendors.models import ProductimageModel, VendorproductModel
class VendorproductFilter(filters.FilterSet): class VendorproductFilter(filters.FilterSet):
# name = filters.CharFilter(field_name="name", lookup_expr="icontains") name = filters.CharFilter(field_name="name", lookup_expr="icontains")
class Meta: class Meta:
model = VendorproductModel model = VendorproductModel
fields = [ fields = [
"name", "vendor",
"category",
"section",
"is_publish",
] ]
class ProductimageFilter(filters.FilterSet): class ProductimageFilter(filters.FilterSet):
# name = filters.CharFilter(field_name="name", lookup_expr="icontains")
class Meta: class Meta:
model = ProductimageModel model = ProductimageModel
fields = [ fields = [
"name", "product",
] ]

View File

@@ -1,9 +1,11 @@
from django_filters.rest_framework import DjangoFilterBackend
from django_core.mixins import BaseViewSetMixin from django_core.mixins import BaseViewSetMixin
from drf_spectacular.utils import extend_schema from drf_spectacular.utils import extend_schema
from rest_framework.permissions import AllowAny from rest_framework.permissions import AllowAny
from rest_framework.viewsets import ReadOnlyModelViewSet from rest_framework.viewsets import ReadOnlyModelViewSet
from core.apps.vendors.models import CategoryModel from core.apps.vendors.models import CategoryModel
from core.apps.vendors.filters.category import CategoryFilter
from core.apps.vendors.serializers.category import ( from core.apps.vendors.serializers.category import (
CreateCategorySerializer, CreateCategorySerializer,
ListCategorySerializer, ListCategorySerializer,
@@ -19,7 +21,8 @@ class CategoryView(BaseViewSetMixin, ModelViewSet):
lookup_field = "firestore_id" lookup_field = "firestore_id"
serializer_class = ListCategorySerializer serializer_class = ListCategorySerializer
permission_classes = [AllowAny] permission_classes = [AllowAny]
filterset_fields = ["section", "is_publish"] filter_backends = [DjangoFilterBackend]
filterset_class = CategoryFilter
action_permission_classes = {} action_permission_classes = {}
action_serializer_class = { action_serializer_class = {

View File

@@ -1,3 +1,4 @@
from django_filters.rest_framework import DjangoFilterBackend
from django_core.mixins import BaseViewSetMixin from django_core.mixins import BaseViewSetMixin
from drf_spectacular.utils import extend_schema from drf_spectacular.utils import extend_schema
from rest_framework.permissions import AllowAny from rest_framework.permissions import AllowAny
@@ -16,6 +17,7 @@ class SectionView(BaseViewSetMixin, ModelViewSet):
queryset = SectionModel.objects.all() queryset = SectionModel.objects.all()
serializer_class = ListSectionSerializer serializer_class = ListSectionSerializer
permission_classes = [AllowAny] permission_classes = [AllowAny]
filter_backends = [DjangoFilterBackend]
filterset_fields = ["is_active"] filterset_fields = ["is_active"]
action_permission_classes = {} action_permission_classes = {}

View File

@@ -1,9 +1,11 @@
from django_filters.rest_framework import DjangoFilterBackend
from django_core.mixins import BaseViewSetMixin from django_core.mixins import BaseViewSetMixin
from drf_spectacular.utils import extend_schema from drf_spectacular.utils import extend_schema
from rest_framework.permissions import AllowAny from rest_framework.permissions import AllowAny
from rest_framework.viewsets import ReadOnlyModelViewSet from rest_framework.viewsets import ReadOnlyModelViewSet
from core.apps.vendors.models import VendorModel from core.apps.vendors.models import VendorModel
from core.apps.vendors.filters.vendor import VendorFilter
from core.apps.vendors.serializers.vendor import CreateVendorSerializer, ListVendorSerializer, RetrieveVendorSerializer from core.apps.vendors.serializers.vendor import CreateVendorSerializer, ListVendorSerializer, RetrieveVendorSerializer
@@ -15,7 +17,8 @@ class VendorView(BaseViewSetMixin, ModelViewSet):
lookup_field = "firestore_id" lookup_field = "firestore_id"
serializer_class = ListVendorSerializer serializer_class = ListVendorSerializer
permission_classes = [AllowAny] permission_classes = [AllowAny]
filterset_fields = ["section", "is_active"] filter_backends = [DjangoFilterBackend]
filterset_class = VendorFilter
action_permission_classes = {} action_permission_classes = {}
action_serializer_class = { action_serializer_class = {

View File

@@ -15,6 +15,8 @@ from core.apps.vendors.serializers.vendor_product import (
from rest_framework.viewsets import ModelViewSet from rest_framework.viewsets import ModelViewSet
from django_filters.rest_framework import DjangoFilterBackend
from core.apps.vendors.filters.vendor_product import ProductimageFilter, VendorproductFilter
from core.apps.vendors.pagination import VendorProductCursorPagination from core.apps.vendors.pagination import VendorProductCursorPagination
@extend_schema(tags=["VendorProduct"]) @extend_schema(tags=["VendorProduct"])
@@ -24,7 +26,8 @@ class VendorproductView(BaseViewSetMixin, ModelViewSet):
serializer_class = ListVendorproductSerializer serializer_class = ListVendorproductSerializer
permission_classes = [AllowAny] permission_classes = [AllowAny]
pagination_class = VendorProductCursorPagination pagination_class = VendorProductCursorPagination
filterset_fields = ["vendor", "category", "section"] filter_backends = [DjangoFilterBackend]
filterset_class = VendorproductFilter
action_permission_classes = {} action_permission_classes = {}
action_serializer_class = { action_serializer_class = {
@@ -41,6 +44,8 @@ class ProductimageView(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = ProductimageModel.objects.all() queryset = ProductimageModel.objects.all()
serializer_class = ListProductimageSerializer serializer_class = ListProductimageSerializer
permission_classes = [AllowAny] permission_classes = [AllowAny]
filter_backends = [DjangoFilterBackend]
filterset_class = ProductimageFilter
action_permission_classes = {} action_permission_classes = {}
action_serializer_class = { action_serializer_class = {