dynamic routes for main page
This commit is contained in:
@@ -4,12 +4,10 @@ from rest_framework import status
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
from api.utils.decorators import handle_exceptions
|
||||
from django.db.models import Q
|
||||
from routes.models import Route
|
||||
from routes.constants.routeChoices import owner_type_choices
|
||||
|
||||
from api.main.serializers import FAQMainSerializer, NewsMainSerializer, TelegramSerializer
|
||||
from api.account.client.serializers import RouteSerializer
|
||||
from api.main.serializers import FAQMainSerializer, NewsMainSerializer, TelegramSerializer, HomePageRouteSerializer
|
||||
from sitemanagement.models import FAQ, News
|
||||
|
||||
class FAQView(APIView):
|
||||
@@ -39,16 +37,20 @@ class NewsView(APIView):
|
||||
class LatestRoutesView(APIView):
|
||||
@handle_exceptions
|
||||
def get(self, request):
|
||||
"""Получаем последние 5 маршрутов для каждого типа owner_type"""
|
||||
"""Получаем последние маршруты"""
|
||||
|
||||
latest_routes = {}
|
||||
routes = []
|
||||
owner_types = dict(owner_type_choices).keys()
|
||||
|
||||
for owner_type in owner_types:
|
||||
routes = Route.objects.filter(owner_type=owner_type).order_by('-id')[:5]
|
||||
latest_routes[owner_type] = RouteSerializer(routes, many=True).data
|
||||
routes.extend(
|
||||
HomePageRouteSerializer(
|
||||
Route.objects.filter(owner_type=owner_type).order_by('-id')[:5],
|
||||
many=True
|
||||
).data
|
||||
)
|
||||
|
||||
return Response(latest_routes, status=status.HTTP_200_OK)
|
||||
return Response(routes, status=status.HTTP_200_OK)
|
||||
|
||||
class TelegramMessageView(APIView):
|
||||
@handle_exceptions
|
||||
|
||||
Reference in New Issue
Block a user