changing code structure

This commit is contained in:
xoliqberdiyev
2026-04-27 16:49:07 +05:00
parent 7134b2c185
commit e3e7f18d7f
21 changed files with 345 additions and 428 deletions

View File

@@ -1,7 +1,16 @@
# django
from django.shortcuts import get_object_or_404
# django core
from django_core.mixins import BaseViewSetMixin
# django filters
from django_filters.rest_framework import DjangoFilterBackend
# swagger
from drf_spectacular.utils import extend_schema
# rest framework
from rest_framework import status
from rest_framework.filters import OrderingFilter, SearchFilter
from rest_framework.generics import ListAPIView
@@ -11,13 +20,10 @@ from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.viewsets import ModelViewSet
# core apps
from core.apps.evaluation.filters.quick import QuickevaluationFilter
from core.apps.evaluation.models import QuickEvaluationModel
from core.apps.evaluation.serializers.quick import (
CreateQuickevaluationSerializer,
ListQuickevaluationSerializer,
RetrieveQuickevaluationSerializer,
)
from core.apps.evaluation.serializers import quick as serializers
@extend_schema(tags=["QuickEvaluation"])
@@ -26,7 +32,7 @@ class QuickEvaluationView(BaseViewSetMixin, ModelViewSet):
"created_by", "brand", "marka", "color", "fuel_type",
"body_type", "state_car", "car_position",
).filter(is_archive=False)
serializer_class = ListQuickevaluationSerializer
serializer_class = serializers.ListQuickevaluationSerializer
permission_classes = [AllowAny]
parser_classes = [MultiPartParser, FormParser]
@@ -51,14 +57,14 @@ class QuickEvaluationView(BaseViewSetMixin, ModelViewSet):
action_permission_classes = {}
action_serializer_class = {
"list": ListQuickevaluationSerializer,
"retrieve": RetrieveQuickevaluationSerializer,
"create": CreateQuickevaluationSerializer,
"list": serializers.ListQuickevaluationSerializer,
"retrieve": serializers.RetrieveQuickevaluationSerializer,
"create": serializers.CreateQuickevaluationSerializer,
}
@extend_schema(tags=["QuickEvaluation"])
class ChangeQuickevaluationAPIView(APIView):
class QuickEvaluationArchiveAPIView(APIView):
def post(self, request, pk):
instance = get_object_or_404(QuickEvaluationModel, pk=pk)
@@ -69,14 +75,14 @@ class ChangeQuickevaluationAPIView(APIView):
{"error": "Поле 'is_archived' обязательно"},
status=status.HTTP_400_BAD_REQUEST
)
instance.is_archived = is_archived
instance.is_archive = is_archived
instance.save()
return Response({"success": True}, status=200)
@extend_schema(tags=["QuickEvaluation"])
class GetArchivedQuickevaluationListAPIView(ListAPIView):
class QuickEvaluationArchivedListAPIView(ListAPIView):
permission_classes = [IsAuthenticated]
def get_queryset(self):
return QuickEvaluationModel.objects.filter(is_archived=True)
return QuickEvaluationModel.objects.filter(is_archive=True)