From ff7b37b0e89fc32d1d4cb7a5f68a5609aa1d3502 Mon Sep 17 00:00:00 2001 From: Husanjonazamov Date: Wed, 18 Mar 2026 16:50:18 +0500 Subject: [PATCH] vendor firebase id qoshildi --- core/apps/vendors/admin/__init__.py | 1 + core/apps/vendors/admin/category.py | 1 + core/apps/vendors/admin/section.py | 17 +++++++++++++++++ core/apps/vendors/filters/category.py | 1 + core/apps/vendors/filters/vendor.py | 1 + core/apps/vendors/filters/vendor_product.py | 3 +++ .../vendors/serializers/category/Category.py | 4 +++- core/apps/vendors/serializers/vendor/vendor.py | 4 +++- .../serializers/vendor_product/VendorProduct.py | 6 +++++- 9 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 core/apps/vendors/admin/section.py diff --git a/core/apps/vendors/admin/__init__.py b/core/apps/vendors/admin/__init__.py index ab94fc6..8dc7430 100644 --- a/core/apps/vendors/admin/__init__.py +++ b/core/apps/vendors/admin/__init__.py @@ -1,3 +1,4 @@ from .category import * # noqa from .vendor import * # noqa from .vendor_product import * # noqa +from .section import * # noqa diff --git a/core/apps/vendors/admin/category.py b/core/apps/vendors/admin/category.py index 788b71e..13b30b5 100644 --- a/core/apps/vendors/admin/category.py +++ b/core/apps/vendors/admin/category.py @@ -10,3 +10,4 @@ class CategoryAdmin(ModelAdmin): "id", "__str__", ) + diff --git a/core/apps/vendors/admin/section.py b/core/apps/vendors/admin/section.py new file mode 100644 index 0000000..8469807 --- /dev/null +++ b/core/apps/vendors/admin/section.py @@ -0,0 +1,17 @@ +from django.contrib import admin +from unfold.admin import ModelAdmin + +from core.apps.vendors.models import SectionModel + + +@admin.register(SectionModel) +class SectionAdmin(ModelAdmin): + list_display = ( + "id", + "firestore_id", + "name", + "is_active", + "service_type", + ) + search_fields = ("name", "firestore_id") + list_filter = ("is_active", "service_type") diff --git a/core/apps/vendors/filters/category.py b/core/apps/vendors/filters/category.py index e114313..68c3dac 100644 --- a/core/apps/vendors/filters/category.py +++ b/core/apps/vendors/filters/category.py @@ -3,6 +3,7 @@ from core.apps.vendors.models import CategoryModel class CategoryFilter(filters.FilterSet): title = filters.CharFilter(field_name="title", lookup_expr="icontains") + section = filters.CharFilter(field_name="section__firestore_id") class Meta: model = CategoryModel diff --git a/core/apps/vendors/filters/vendor.py b/core/apps/vendors/filters/vendor.py index 9717dcd..0432d74 100644 --- a/core/apps/vendors/filters/vendor.py +++ b/core/apps/vendors/filters/vendor.py @@ -3,6 +3,7 @@ from core.apps.vendors.models import VendorModel class VendorFilter(filters.FilterSet): title = filters.CharFilter(field_name="title", lookup_expr="icontains") + section = filters.CharFilter(field_name="section__firestore_id") class Meta: model = VendorModel diff --git a/core/apps/vendors/filters/vendor_product.py b/core/apps/vendors/filters/vendor_product.py index 78b9d61..e3cad2f 100644 --- a/core/apps/vendors/filters/vendor_product.py +++ b/core/apps/vendors/filters/vendor_product.py @@ -5,6 +5,9 @@ from core.apps.vendors.models import ProductimageModel, VendorproductModel class VendorproductFilter(filters.FilterSet): name = filters.CharFilter(field_name="name", lookup_expr="icontains") + vendor = filters.CharFilter(field_name="vendor__firestore_id") + category = filters.CharFilter(field_name="category__firestore_id") + section = filters.CharFilter(field_name="section__firestore_id") class Meta: model = VendorproductModel diff --git a/core/apps/vendors/serializers/category/Category.py b/core/apps/vendors/serializers/category/Category.py index f1303d6..488055a 100644 --- a/core/apps/vendors/serializers/category/Category.py +++ b/core/apps/vendors/serializers/category/Category.py @@ -1,9 +1,11 @@ from rest_framework import serializers -from core.apps.vendors.models import CategoryModel +from core.apps.vendors.models import CategoryModel, SectionModel class BaseCategorySerializer(serializers.ModelSerializer): + section = serializers.SlugRelatedField(slug_field='firestore_id', queryset=SectionModel.objects.all(), required=False, allow_null=True) + class Meta: model = CategoryModel fields = [ diff --git a/core/apps/vendors/serializers/vendor/vendor.py b/core/apps/vendors/serializers/vendor/vendor.py index e599370..f5b725e 100644 --- a/core/apps/vendors/serializers/vendor/vendor.py +++ b/core/apps/vendors/serializers/vendor/vendor.py @@ -1,9 +1,11 @@ from rest_framework import serializers -from core.apps.vendors.models import VendorModel +from core.apps.vendors.models import VendorModel, SectionModel class BaseVendorSerializer(serializers.ModelSerializer): + section = serializers.SlugRelatedField(slug_field='firestore_id', queryset=SectionModel.objects.all(), required=False, allow_null=True) + class Meta: model = VendorModel fields = [ diff --git a/core/apps/vendors/serializers/vendor_product/VendorProduct.py b/core/apps/vendors/serializers/vendor_product/VendorProduct.py index e5620c2..623da3a 100644 --- a/core/apps/vendors/serializers/vendor_product/VendorProduct.py +++ b/core/apps/vendors/serializers/vendor_product/VendorProduct.py @@ -1,9 +1,13 @@ from rest_framework import serializers -from core.apps.vendors.models import VendorproductModel +from core.apps.vendors.models import VendorproductModel, VendorModel, CategoryModel, SectionModel class BaseVendorproductSerializer(serializers.ModelSerializer): + vendor = serializers.SlugRelatedField(slug_field='firestore_id', queryset=VendorModel.objects.all(), required=False, allow_null=True) + category = serializers.SlugRelatedField(slug_field='firestore_id', queryset=CategoryModel.objects.all(), required=False, allow_null=True) + section = serializers.SlugRelatedField(slug_field='firestore_id', queryset=SectionModel.objects.all(), required=False, allow_null=True) + class Meta: model = VendorproductModel fields = [