categorylanri import qilish qoshildi

This commit is contained in:
Husanjonazamov
2026-03-25 18:17:23 +05:00
parent 890cbfac1b
commit 00f9e6be54
3 changed files with 68 additions and 0 deletions

View File

@@ -11,6 +11,9 @@ from core.apps.vendors.serializers.vendor import CreateVendorSerializer, ListVen
from rest_framework.viewsets import ModelViewSet
from django.shortcuts import get_object_or_404
from django.db.models import Q
@extend_schema(tags=["vendor"])
class VendorView(BaseViewSetMixin, ModelViewSet):
queryset = VendorModel.objects.all()
@@ -27,4 +30,22 @@ class VendorView(BaseViewSetMixin, ModelViewSet):
"create": CreateVendorSerializer,
"update": CreateVendorSerializer,
"partial_update": CreateVendorSerializer,
"destroy": ListVendorSerializer,
}
def get_object(self):
queryset = self.filter_queryset(self.get_queryset())
lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
lookup_value = self.kwargs[lookup_url_kwarg]
# Qidirish: firestore_id yoki id bo'yicha
if lookup_value.isdigit():
obj = queryset.filter(Q(id=lookup_value) | Q(firestore_id=lookup_value)).first()
else:
obj = queryset.filter(firestore_id=lookup_value).first()
if obj is None:
return get_object_or_404(queryset, **{self.lookup_field: lookup_value})
return obj

View File

@@ -19,6 +19,9 @@ 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 django.shortcuts import get_object_or_404
from django.db.models import Q
@extend_schema(tags=["VendorProduct"])
class VendorproductView(BaseViewSetMixin, ModelViewSet):
queryset = VendorproductModel.objects.all().order_by("-created_at")
@@ -36,8 +39,26 @@ class VendorproductView(BaseViewSetMixin, ModelViewSet):
"create": CreateVendorproductSerializer,
"update": CreateVendorproductSerializer,
"partial_update": CreateVendorproductSerializer,
"destroy": ListVendorproductSerializer,
}
def get_object(self):
queryset = self.filter_queryset(self.get_queryset())
lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
lookup_value = self.kwargs[lookup_url_kwarg]
# Qidirish: firestore_id yoki id bo'yicha
if lookup_value.isdigit():
obj = queryset.filter(Q(id=lookup_value) | Q(firestore_id=lookup_value)).first()
else:
obj = queryset.filter(firestore_id=lookup_value).first()
if obj is None:
return get_object_or_404(queryset, **{self.lookup_field: lookup_value})
return obj
@extend_schema(tags=["ProductImage"])
class ProductimageView(BaseViewSetMixin, ReadOnlyModelViewSet):